diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 18:03:47 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 18:03:47 +0000 |
commit | 08a3b713ae113c58893e7daddbbc4afd178d446f (patch) | |
tree | d2f1dee12be5cb34f4acdc1cf269021e5948a7ef /views/screen_gtk.cc | |
parent | 56008bf3dc79ab9d76f09769317ac4307c385b08 (diff) | |
download | chromium_src-08a3b713ae113c58893e7daddbbc4afd178d446f.zip chromium_src-08a3b713ae113c58893e7daddbbc4afd178d446f.tar.gz chromium_src-08a3b713ae113c58893e7daddbbc4afd178d446f.tar.bz2 |
Fixes regression in menu button. I converted a call from GetWidget to
GetWindow, the problem is in certain scenarios GetWindow can return
null. I've changed the code back to GetWidget and converted Screen
from taking a NativeWindow to a NativeView.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/269076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28986 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/screen_gtk.cc')
-rw-r--r-- | views/screen_gtk.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/views/screen_gtk.cc b/views/screen_gtk.cc index dea117c..9302853 100644 --- a/views/screen_gtk.cc +++ b/views/screen_gtk.cc @@ -31,16 +31,19 @@ gfx::Rect static GetPrimaryMonitorBounds() { } // static -gfx::Rect Screen::GetMonitorWorkAreaNearestWindow(gfx::NativeWindow window) { - // TODO(beng): use |window|. +gfx::Rect Screen::GetMonitorWorkAreaNearestWindow(gfx::NativeView view) { + // TODO(beng): use |view|. return GetPrimaryMonitorBounds(); } // static -gfx::Rect Screen::GetMonitorAreaNearestWindow(gfx::NativeWindow window) { +gfx::Rect Screen::GetMonitorAreaNearestWindow(gfx::NativeView view) { + GtkWidget* top_level = gtk_widget_get_toplevel(view); + DCHECK(GTK_IS_WINDOW(top_level)); + GtkWindow* window = GTK_WINDOW(top_level); GdkScreen* screen = gtk_window_get_screen(window); gint monitor_num = gdk_screen_get_monitor_at_window(screen, - (GTK_WIDGET(window))->window); + top_level->window); GdkRectangle bounds; gdk_screen_get_monitor_geometry(screen, monitor_num, &bounds); return gfx::Rect(bounds); |