Nux

Merge lp:~vanvugt/nux/fix-769957-natty into lp:nux/0.9

Proposed by Daniel van Vugt
Status: Merged
Merged at revision: 351
Proposed branch: lp:~vanvugt/nux/fix-769957-natty
Merge into: lp:nux/0.9
Diff against target: 11 lines (+1/-0)
1 file modified
NuxGraphics/XInputWindow.cpp (+1/-0)
To merge this branch: bzr merge lp:~vanvugt/nux/fix-769957-natty
Reviewer Review Type Date Requested Status
Jay Taoko (community) Approve
Unity Team Pending
Review via email: mp+62816@code.launchpad.net

Description of the change

Fix a window leak causing unity panel/launcher corruption. This is the
simplified version of the fix to be compatible with natty (nux 0.9 series)
(LP: #769957)

To post a comment you must log in.
Revision history for this message
Jay Taoko (jaytaoko) wrote :

I am trying to verify the fix. Can you tell me specific steps to follow to attest that the fix is working? I have been trying to enable/disable some compiz pluggins but I am not getting the expected result.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Using CCSM, toggle the Negative or Color filter plugins. Most of the time, each toggle will cause more corruption in the panel. Also the panel shadow gets darker due to the duplicate windows.

You can also check for the leak in a terminal using this:

for i in `xwininfo -root -children | awk '/^ *0x/ {print $1}'`; do
 xwininfo -id $i -all | grep '"panel"'
done

Revision history for this message
Jay Taoko (jaytaoko) wrote :

I was able to reproduce the problem and confirm that XFlush will destroy the remaining windows. Here is a sample output without XFlush (after loading/unloading several plugins):

jay@jay-linux:~$ for i in `xwininfo -root -children | awk '/^ *0x/ {print $1}'`; do xwininfo -id $i -all | grep '"panel"'; done
        0x7800003 "panel": () 1600x24+0+0 +0+0
        0x7600003 "panel": () 1600x24+0+0 +0+0
        0x7400003 "panel": () 1600x24+0+0 +0+0
        0x7200003 "panel": () 1600x24+0+0 +0+0
        0x7000003 "panel": () 1600x24+0+0 +0+0
        0x6e00003 "panel": () 1600x24+0+0 +0+0
        0x6a00003 "panel": () 1600x24+0+0 +0+0
        0x6800003 "panel": () 1600x24+0+0 +0+0
        0x6200003 "panel": () 1600x24+0+0 +0+0

I also confirm that the drop shadows of the Panel and Launcher becomes darker.

However I couldn't test your branch right away because I was getting crashes when loading/unloading plugins (i was running Nux in debug mode: add "--enable-debug" to nux autogen command line). I have fixed the issues in both Unity and Nux:
    http://bazaar.launchpad.net/~unity-team/nux/0.9/revision/350
    https://code.launchpad.net/~unity-team/unity/unity-sru-fix-mem-leaks/+merge/62927

Your branch is approved.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'NuxGraphics/XInputWindow.cpp'
2--- NuxGraphics/XInputWindow.cpp 2011-04-06 21:54:09 +0000
3+++ NuxGraphics/XInputWindow.cpp 2011-05-30 04:57:23 +0000
4@@ -96,6 +96,7 @@
5 {
6 _native_windows.remove (_window);
7 XDestroyWindow (_display, _window);
8+ XFlush (_display);
9 }
10
11 /* static */

Subscribers

People subscribed via source and target branches

to all changes: