diff options
| author | smspillaz <sam.spilsbury@canonical.com> | 2012-04-18 17:19:44 +0800 |
|---|---|---|
| committer | smspillaz <sam.spilsbury@canonical.com> | 2012-04-18 17:19:44 +0800 |
| commit | ec8f0363fbf06759244b90197482759f360403bb (patch) | |
| tree | 6186ec73d27207fa54fb2bdf7f121bccaca20c3d /tests/test-minimize-window-handler | |
| parent | 9ae7fdff4d0d27b37f05de24320e97667de60cb7 (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.cpp | 19 |
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 (); } } |
