summaryrefslogtreecommitdiff
path: root/tests/test-minimize-window-handler
diff options
authorsmspillaz <sam.spilsbury@canonical.com>2012-04-18 17:19:44 +0800
committersmspillaz <sam.spilsbury@canonical.com>2012-04-18 17:19:44 +0800
commitec8f0363fbf06759244b90197482759f360403bb (patch)
tree6186ec73d27207fa54fb2bdf7f121bccaca20c3d /tests/test-minimize-window-handler
parent9ae7fdff4d0d27b37f05de24320e97667de60cb7 (diff)
Make the minimize handler use the same mechanism
(bzr r2294.1.2)
Diffstat (limited to 'tests/test-minimize-window-handler')
-rw-r--r--tests/test-minimize-window-handler/test-minimize-handler.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/tests/test-minimize-window-handler/test-minimize-handler.cpp b/tests/test-minimize-window-handler/test-minimize-handler.cpp
index d45c5012b..e73dbc225 100644
--- a/tests/test-minimize-window-handler/test-minimize-handler.cpp
+++ b/tests/test-minimize-window-handler/test-minimize-handler.cpp
@@ -35,7 +35,8 @@
#include <x11-window-read-transients.h>
class X11WindowFakeMinimizable :
- public X11WindowReadTransients
+ public X11WindowReadTransients,
+ public compiz::WindowInputRemoverLockAcquireInterface
{
public:
@@ -50,9 +51,23 @@ class X11WindowFakeMinimizable :
private:
+ compiz::WindowInputRemoverLock::Ptr GetInputRemover ();
+
+ compiz::WindowInputRemoverLock::Weak input_remover_;
compiz::MinimizedWindowHandler::Ptr mMinimizedHandler;
};
+compiz::WindowInputRemoverLock::Ptr
+X11WindowFakeMinimizable::GetInputRemover ()
+{
+ if (!input_remover_.expired ())
+ return input_remover_.lock ();
+
+ compiz::WindowInputRemoverLock::Ptr ret (new compiz::WindowInputRemoverLock (new compiz::WindowInputRemover (mDpy, mXid)));
+ input_remover_ = ret;
+ return ret;
+}
+
X11WindowFakeMinimizable::X11WindowFakeMinimizable (Display *d, Window id) :
X11WindowReadTransients (d, id)
{
@@ -74,7 +89,7 @@ X11WindowFakeMinimizable::minimize ()
if (!mMinimizedHandler)
{
printf ("Fake minimize window 0x%x\n", (unsigned int) mXid);
- mMinimizedHandler = compiz::MinimizedWindowHandler::Ptr (new compiz::MinimizedWindowHandler (mDpy, mXid));
+ mMinimizedHandler = compiz::MinimizedWindowHandler::Ptr (new compiz::MinimizedWindowHandler (mDpy, mXid, this));
mMinimizedHandler->minimize ();
}
}