In method ido_offscreen_proxy_realize(), a call is made to
gdk_screen_get_rgba_visual() to get a GdkVisual handle, which is then
passed as part of a GdkWindowAttr structure to gdk_window_new().

What's not taken into account is that gdk_screen_get_rgba_visual() will
return NULL if RGBA isn't supported by the destination window manager
(e.g. if someone turned the Composite extension off). In this case, as
the field is always marked as valid for use (GDK_WA_VISUAL),
gdk_window_new will fall over.

Attached is a patch to fall back on gdk_screen_get_system_visual() if
RGBA isn't available. With this, unity-panel-service no longer crashes
after interacting with the Sound indicator if the Composite extension is
switched off.

** Patch added: "ido-visual-fix.patch"
   
https://bugs.launchpad.net/ubuntu/+source/ido/+bug/867649/+attachment/2620193/+files/ido-visual-fix.patch

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/867649

Title:
  unity-panel-service crashed with SIGSEGV in gdk_window_new()

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ido/+bug/867649/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to