Merge lp:~smspillaz/unity/unity.fix_931409 into lp:unity

Proposed by Sam Spilsbury
Status: Merged
Approved by: Tim Penhey
Approved revision: no longer in the source branch.
Merged at revision: 1970
Proposed branch: lp:~smspillaz/unity/unity.fix_931409
Merge into: lp:unity
Diff against target: 42 lines (+12/-9)
2 files modified
plugins/unityshell/src/compizminimizedwindowhandler.h (+0/-9)
plugins/unityshell/src/unityshell.cpp (+12/-0)
To merge this branch: bzr merge lp:~smspillaz/unity/unity.fix_931409
Reviewer Review Type Date Requested Status
Tim Penhey (community) Approve
Review via email: mp+92907@code.launchpad.net

Description of the change

Fix bug 931409

Don't unset the handlers until the window is destroyed.

To post a comment you must log in.
Revision history for this message
Tim Penhey (thumper) wrote :

Tested.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/unityshell/src/compizminimizedwindowhandler.h'
2--- plugins/unityshell/src/compizminimizedwindowhandler.h 2012-02-13 03:27:45 +0000
3+++ plugins/unityshell/src/compizminimizedwindowhandler.h 2012-02-14 04:41:55 +0000
4@@ -104,15 +104,6 @@
5 template <typename Screen, typename Window>
6 compiz::CompizMinimizedWindowHandler<Screen, Window>::~CompizMinimizedWindowHandler ()
7 {
8- if (!priv->mWindow->destroyed ())
9- {
10- priv->mWindow->unminimize ();
11- priv->mWindow->focusSetEnabled (Window::get (priv->mWindow), false);
12- priv->mWindow->minimizeSetEnabled (Window::get (priv->mWindow), false);
13- priv->mWindow->unminimizeSetEnabled (Window::get (priv->mWindow), false);
14- priv->mWindow->minimize ();
15- }
16-
17 minimizedWindows.remove (this);
18 }
19
20
21=== modified file 'plugins/unityshell/src/unityshell.cpp'
22--- plugins/unityshell/src/unityshell.cpp 2012-02-13 21:44:54 +0000
23+++ plugins/unityshell/src/unityshell.cpp 2012-02-14 04:41:55 +0000
24@@ -2687,6 +2687,18 @@
25 if (us->newFocusedWindow && (UnityWindow::get(us->newFocusedWindow) == this))
26 us->newFocusedWindow = NULL;
27
28+ if (!window->destroyed ())
29+ {
30+ bool wasMinimized = window->minimized ();
31+ if (wasMinimized)
32+ window->unminimize ();
33+ window->focusSetEnabled (this, false);
34+ window->minimizeSetEnabled (this, false);
35+ window->unminimizeSetEnabled (this, false);
36+ if (wasMinimized)
37+ window->minimize ();
38+ }
39+
40 UnityShowdesktopHandler::animating_windows.remove (window);
41
42 if (mShowdesktopHandler)