← Back to team overview

dx-packages team mailing list archive

[Bug 775508] Re: Windows fail to repaint where popup windows appeared before

 

Launchpad has imported 5 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=36840.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2011-05-04T05:43:35+00:00 Ugo Riboni wrote:

Created attachment 46321
Test program to help reproduce the bug

If the root window and all its subwindows are redirected to off-screen
storage by using XCompositeRedirectSubwindows with the update parameter
set to CompositeRedirectAutomatic, some windows fail to repaint
correctly in some conditions.

To reproduce this bug:
(1) ensure that windows are NOT currently redirected to off-screen storage
(2) run the attached test application, or run "xcompmgr -a" if you have it installed. 
(3) open any regular window, then open a "menu" window so that it overlaps with it partially
(4) close the menu window and open it again in another position so that it will not overlap with the regular window
(5) observe that the part of the regular window that was covered by the first menu window is cleared and then it's not normally repainted anymore

I can reproduce reliably on a machine running Ubuntu Linux 11.04, which runs X.org version 1.10.1, with Linux kernel 2.6.24-29-server x86_64
The window manager running is Metacity (with Metacity's own compositor disabled).

The "menu" windows mentioned in steps 3 to 5 are those that appear when
right clicking on the desktop. I don't know what is special about them
in X11 terms, but there are no other windows that exhibit this behavior
that I could find.

I could reproduce this bug both on an Nvidia card and on a machine with
integrated Intel graphics.

Reply at: https://bugs.launchpad.net/unity-2d/+bug/775508/comments/4

------------------------------------------------------------------------
On 2011-05-04T05:44:56+00:00 Ugo Riboni wrote:

Created attachment 46322
Screenshot of one of the windows showing the corrupt area

Reply at: https://bugs.launchpad.net/unity-2d/+bug/775508/comments/5

------------------------------------------------------------------------
On 2011-05-04T06:19:34+00:00 Michel-daenzer wrote:

Sounds like bug 36699 / bug 22566 ...

(In reply to comment #2)
> I could reproduce this bug both on an Nvidia card [...]

Using which driver?

Reply at: https://bugs.launchpad.net/unity-2d/+bug/775508/comments/6

------------------------------------------------------------------------
On 2011-05-05T02:10:23+00:00 Alberto Milone wrote:

(In reply to comment #2)
> Sounds like bug 36699 / bug 22566 ...
> 
> (In reply to comment #2)
> > I could reproduce this bug both on an Nvidia card [...]
> 
> Using which driver?

It can be reproduced with nvidia, fglrx and intel. I haven't tried to
reproduce it with radeon yet but, if it can help, I will.

Reply at: https://bugs.launchpad.net/unity-2d/+bug/775508/comments/9

------------------------------------------------------------------------
On 2011-05-18T10:22:59+00:00 Alberto Milone wrote:

The issue seems to be caused only when override redirect windows (such
as GtkMenus) overlap a window, then the menu is destroyed and somehow
the area previously occupied by the menu is clipped (and the wallpaper
is visible) when a new menu (which doesn't overlap the same window) is
created. Moving the window makes the hole go away as miMoveWindow() does
a RegionCopy().

I guess something weird happens when the window is no longer marked as
overlapped. Maybe miMarkOverlappedWindows() doesn't play well with
override redirect windows in CompositeRedirectAutomatic mode.

Any ideas as to how I can further debug the issue?

Thanks

Reply at: https://bugs.launchpad.net/unity-2d/+bug/775508/comments/10

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to unity-2d in Ubuntu.
https://bugs.launchpad.net/bugs/775508

Title:
  Windows fail to repaint where popup windows appeared before

Status in Unity 2D:
  Fix Released
Status in X.Org X server:
  Confirmed
Status in “unity-2d” package in Ubuntu:
  Fix Released
Status in “xorg-server” package in Ubuntu:
  Triaged

Bug description:
  To reproduce:

  - Open a window
  - Right click on the desktop to make a popup menu appear, and make it so that the menu overlaps partially the window
  - Left click on the desktop to make the menu disappear
  - Right click again on the desktop but this time in a different position that will not cause the menu to overlap the window

  Result:
  - The part of window that was originally covered by the first menu now displays a "hole" in the shape of the menu (i.e. it shows the desktop background instead of the window content).

  Moving the window will cause it to repaint and fix the corrupted area.

  This happens regardless of the capture_before_unmap option being enabled in metacity.
  This doesn't happen if metacity's compositor is enabled and active.
  This was reproduced consistently both with different nvidia cards and with intel integrated graphics.
  This can't be reproduced in a gnome classic session (metacity).

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity-2d/+bug/775508/+subscriptions