summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSam Spilsbury <smspillaz@gmail.com>2011-01-13 07:59:23 +0800
committerSam Spilsbury <smspillaz@gmail.com>2011-01-13 07:59:23 +0800
commit9bd6d03c3d74a2e4d31874c1118df300b43142ba (patch)
treeb984bdf5563280d2499f8effc80adbb62ad52dce /include
parentecc61dc04567947e92cbb9686c1041619abc05b1 (diff)
downloadmobileperf-9bd6d03c3d74a2e4d31874c1118df300b43142ba.tar.gz
mobileperf-9bd6d03c3d74a2e4d31874c1118df300b43142ba.tar.bz2
Don't create CompWindow and initialize plugins until MapRequest.
Having all plugins track windows on CreateNotify doesn't make any sense because they are not visible, and the ones that they would need to track would be override-redirect anyways. Also tracking windows in this way broke reparenting in such a way that a number of buggy applications using xembed (eg gnome-panel applets and Adobe Flash would consistently crash).
Diffstat (limited to 'include')
-rw-r--r--include/core/screen.h1
-rw-r--r--include/core/window.h6
2 files changed, 5 insertions, 2 deletions
diff --git a/include/core/screen.h b/include/core/screen.h
index c5bfc4c..a36599b 100644
--- a/include/core/screen.h
+++ b/include/core/screen.h
@@ -399,6 +399,7 @@ class CompScreen :
friend class CompTimer;
friend class CompWindow;
friend class PrivateWindow;
+ friend class CoreWindow;
friend class ModifierHandler;
friend class CompManager;
diff --git a/include/core/window.h b/include/core/window.h
index 6b07a56..08b6e68 100644
--- a/include/core/window.h
+++ b/include/core/window.h
@@ -294,8 +294,6 @@ class CompWindow :
CompWindow *prev;
public:
- CompWindow (Window id,
- Window aboveId);
~CompWindow ();
/**
@@ -552,8 +550,12 @@ class CompWindow :
friend class CompScreen;
friend class PrivateScreen;
friend class ModifierHandler;
+ friend class CoreWindow;
private:
+ CompWindow (Window aboveId,
+ PrivateWindow *priv);
+
PrivateWindow *priv;
};