diff --git a/client.cpp b/client.cpp index b8def74d4d..96ac58c070 100644 --- a/client.cpp +++ b/client.cpp @@ -85,6 +85,18 @@ private: KWinInternal::Client * m_client; }; +class WindowWrapperPrivate +{ +public: + WindowWrapperPrivate() {}; +}; + +class ClientPrivate +{ +public: + ClientPrivate() {}; +}; + }; // put all externs before the namespace statement to allow the linker @@ -187,6 +199,7 @@ const long ClientWinMask = KeyPressMask | KeyReleaseMask | WindowWrapper::WindowWrapper( WId w, Client *parent, const char* name) : QWidget( parent, name ) { + d = new WindowWrapperPrivate; win = w; setMouseTracking( TRUE ); @@ -226,6 +239,7 @@ WindowWrapper::WindowWrapper( WId w, Client *parent, const char* name) WindowWrapper::~WindowWrapper() { releaseWindow(); + delete d; } @@ -460,6 +474,7 @@ bool WindowWrapper::x11Event( XEvent * e) Client::Client( Workspace *ws, WId w, QWidget *parent, const char *name, WFlags f ) : QWidget( parent, name, f | WStyle_Customize | WStyle_NoBorder ) { + d = new ClientPrivate; wspace = ws; win = w; autoRaiseTimer = 0; @@ -553,6 +568,7 @@ Client::~Client() workspace()->setFocusChangeEnabled(true); // Safety delete info; + delete d; } diff --git a/client.h b/client.h index 0899a38a4f..ee8703beaf 100644 --- a/client.h +++ b/client.h @@ -24,6 +24,9 @@ class Workspace; class Client; class WinInfo; +class WindowWrapperPrivate; +class ClientPrivate; + class WindowWrapper : public QWidget { Q_OBJECT @@ -56,6 +59,7 @@ private: WId win; Time lastMouseEventTime; bool reparented; + WindowWrapperPrivate* d; }; inline WId WindowWrapper::window() const @@ -328,6 +332,9 @@ private: static QCString staticWmCommand(WId); static QCString staticWmClientMachine(WId); static Window staticWmClientLeader(WId); + + private: + ClientPrivate* d; }; diff --git a/workspace.cpp b/workspace.cpp index 75864be56e..025921a0c3 100644 --- a/workspace.cpp +++ b/workspace.cpp @@ -85,6 +85,12 @@ private: KWinInternal::Workspace* workspace; }; +class WorkspacePrivate +{ +public: + WorkspacePrivate() {}; +}; + }; using namespace KWinInternal; @@ -234,6 +240,7 @@ Workspace::Workspace( bool restore ) keys (0), root (0) { + d = new WorkspacePrivate; mgr = new PluginMgr; root = qt_xrootwin(); default_colormap = DefaultColormap(qt_xdisplay(), qt_xscreen() ); @@ -410,6 +417,7 @@ Workspace::~Workspace() delete rootInfo; delete supportWindow; delete mgr; + delete d; } diff --git a/workspace.h b/workspace.h index 7b56e27bc4..fcdbb7bafb 100644 --- a/workspace.h +++ b/workspace.h @@ -84,6 +84,8 @@ public: static bool noBorder( WId w ); }; +class WorkspacePrivate; + class Workspace : public QObject, virtual public KWinInterface { Q_OBJECT @@ -379,6 +381,8 @@ private: QTimer resetTimer; QTimer focusEnsuranceTimer; + + WorkspacePrivate* d; }; inline WId Workspace::rootWin() const