diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-26 22:31:40 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-26 22:31:40 +0000 |
commit | c7ef65a3bd857ea6252024fee1f295e588f98f28 (patch) | |
tree | fd5760a96902743c4d519806131a71c6743718a9 /chrome | |
parent | 9897787d4f0ef0234705d3dc2d5087e2ffe745c0 (diff) | |
download | chromium_src-c7ef65a3bd857ea6252024fee1f295e588f98f28.zip chromium_src-c7ef65a3bd857ea6252024fee1f295e588f98f28.tar.gz chromium_src-c7ef65a3bd857ea6252024fee1f295e588f98f28.tar.bz2 |
Don't assume that the widget has a toplevel ancestor in GetTopLevel.
Review URL: http://codereview.chromium.org/115802
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16937 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/common/platform_util_linux.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/common/platform_util_linux.cc b/chrome/common/platform_util_linux.cc index 7458978..8d3a5a1 100644 --- a/chrome/common/platform_util_linux.cc +++ b/chrome/common/platform_util_linux.cc @@ -29,7 +29,10 @@ void ShowItemInFolder(const FilePath& full_path) { } gfx::NativeWindow GetTopLevel(gfx::NativeView view) { - return GTK_WINDOW(gtk_widget_get_toplevel(view)); + // A detached widget won't have a toplevel window as an ancestor, so we can't + // assume that the query for toplevel will return a window. + GtkWidget* toplevel = gtk_widget_get_ancestor(view, GTK_TYPE_WINDOW); + return GTK_IS_WINDOW(toplevel) ? GTK_WINDOW(toplevel) : NULL; } string16 GetWindowTitle(gfx::NativeWindow window) { |