summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-19 22:46:04 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-19 22:46:04 +0000
commitb5b35b943776f4298ceb18a1f84205fe5ef92933 (patch)
treed6678b018c1da20554019f1253a8034007fd82f6 /webkit/glue
parent6df4074a8f9ab6039c7cb8807b61b52599d14040 (diff)
downloadchromium_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.cc16
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;
}