mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Revert to non-xinerama mode when XineramaQueryScreens returns NULL; patch
2007-04-03 Loïc Minier <lool@dooz.org> * gdk/x11/gdkscreen-x11.c: (check_xfree_xinerama): Revert to non-xinerama mode when XineramaQueryScreens returns NULL; patch from Simon McVittie; #425786. svn path=/trunk/; revision=17579
This commit is contained in:
parent
d7c5a3010a
commit
8b20a27e0a
@ -1,3 +1,9 @@
|
||||
2007-04-03 Loïc Minier <lool@dooz.org>
|
||||
|
||||
* gdk/x11/gdkscreen-x11.c: (check_xfree_xinerama): Revert to
|
||||
non-xinerama mode when XineramaQueryScreens returns NULL; patch from
|
||||
Simon McVittie; #425786.
|
||||
|
||||
2007-04-02 Michael Natterer <mitch@imendio.com>
|
||||
|
||||
* gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): remove
|
||||
|
@ -600,12 +600,16 @@ check_xfree_xinerama (GdkScreen *screen)
|
||||
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
|
||||
XineramaScreenInfo *monitors = XineramaQueryScreens (GDK_SCREEN_XDISPLAY (screen),
|
||||
&screen_x11->num_monitors);
|
||||
if (screen_x11->num_monitors <= 0)
|
||||
if (screen_x11->num_monitors <= 0 || monitors == NULL)
|
||||
{
|
||||
/* FIXME: We need to trap errors, since XINERAMA isn't always XINERAMA.
|
||||
* I don't think the num_monitors <= 0 check has any validity.
|
||||
*/
|
||||
g_error ("error while retrieving Xinerama information");
|
||||
/* If Xinerama doesn't think we have any monitors, try acting as
|
||||
* though we had no Xinerama. If the "no monitors" condition
|
||||
* is because XRandR 1.2 is currently switching between CRTCs,
|
||||
* we'll be notified again when we have our monitor back,
|
||||
* and can go back into Xinerama-ish mode at that point. */
|
||||
if (monitors)
|
||||
XFree (monitors);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user