Comment 17 for bug 246585

Revision history for this message
Bryce Harrington (bryce) wrote :

Looking at gdk_display_get_screen(), it returns NULL if there are no screens defined:

GdkScreen *
gdk_display_get_screen (GdkDisplay *display,
                        gint screen_num)
{
  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
  g_return_val_if_fail (ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num, NULL);

  return GDK_DISPLAY_X11 (display)->screens[screen_num];
}

However, I'm not sure why it's doing so in this case...

(gdb) print ((GdkDisplayX11*)display)->xdisplay->nscreens
$45 = 1
(gdb) print screen_num
$46 = 0
(gdb) print ((GdkDisplayX11*)display)->xdisplay->screens[0]
$47 = {ext_data = 0x0, display = 0x9c7610, root = 92, width = 1280, height = 1024, mwidth = 382, mheight = 302, ndepths = 7,
  depths = 0x9ce250, root_depth = 24, root_visual = 0x9ce2d0, default_gc = 0x9ce350, cmap = 32, white_pixel = 16777215,
  black_pixel = 0, max_maps = 1, min_maps = 1, backing_store = 0, save_unders = 0, root_input_mask = 0}