Bug#737590: g-c-c backgrounds crash

Andreas Henriksson andreas at fatal.se
Sun Mar 2 22:24:50 UTC 2014


Hello!

Thanks for the followup on the gnome-control-center backgrounds crash.
Your backtrace is much more useful then the one in the original
bug report.

I'm not able to reproduce this with the limited information provided in
the bug report.

Looking at the source of gtk+3.0, the code that crashes iterates over the surface
of the specified width/height and crashes when reaching a certain (unknown) width
and trying to access the surface at that width.
This makes me think the problem is rather in the caller of the function, passing
invalid arguments.

g-c-c (panels/background/cc-background-panel.c) does:

  surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                        data->monitor_rect.width, data->monitor_rect.height);
  [...]
    panel->priv->display_screenshot = gdk_pixbuf_get_from_surface (surface,
                                                                 0, 0,
                                                                 data->monitor_rect.width,
                                                                 data->monitor_rect.height);


It's not obvious to me what could be wrong here, so it would be great if
someone who can reporoduce the problem could investigate the properties of the
surface...

The cairo api docs gives some hints on what to check:
http://cairographics.org/manual/cairo-Image-Surfaces.html#cairo-image-surface-create


Regards,
Andreas Henriksson



More information about the pkg-gnome-maintainers mailing list