diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-19 22:46:04 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-19 22:46:04 +0000 |
commit | b5b35b943776f4298ceb18a1f84205fe5ef92933 (patch) | |
tree | d6678b018c1da20554019f1253a8034007fd82f6 /webkit/glue | |
parent | 6df4074a8f9ab6039c7cb8807b61b52599d14040 (diff) | |
download | chromium_src-b5b35b943776f4298ceb18a1f84205fe5ef92933.zip chromium_src-b5b35b943776f4298ceb18a1f84205fe5ef92933.tar.gz chromium_src-b5b35b943776f4298ceb18a1f84205fe5ef92933.tar.bz2 |
Linux: fix crash when getting the screen info for a NULL window.
Since we still have the hack where we pass raw pointers into the
renderer, we should catch the NULL case and return something sane.
Additionally, while I'm at it, always tell WebKit that it has a 32-bit
screen. Since it paints via IPC messages, it doesn't need to know what
the actual screen is using; we handle all that in the BackingStore.
Review URL: http://codereview.chromium.org/50030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12167 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/webkit_glue_gtk.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/webkit/glue/webkit_glue_gtk.cc b/webkit/glue/webkit_glue_gtk.cc index f249011..8ceb35d 100644 --- a/webkit/glue/webkit_glue_gtk.cc +++ b/webkit/glue/webkit_glue_gtk.cc @@ -11,10 +11,15 @@ namespace webkit_glue { ScreenInfo GetScreenInfoHelper(gfx::NativeView window) { - GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(window)); - GdkVisual* visual = gdk_screen_get_system_visual(screen); - ScreenInfo results; + results.depth = 32; + results.depth_per_component = 8; + results.is_monochrome = false; + + if (!window) + return results; + + GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(window)); results.rect.SetRect(0, 0, gdk_screen_get_width(screen), gdk_screen_get_height(screen)); // I don't know of a way to query the "maximise" size of the window (e.g. @@ -22,11 +27,6 @@ ScreenInfo GetScreenInfoHelper(gfx::NativeView window) { // window manager knows. results.available_rect = results.rect; - results.depth = visual->depth; - results.depth_per_component = visual->bits_per_rgb; - - results.is_monochrome = false; - return results; } |