summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-26 22:31:40 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-26 22:31:40 +0000
commitc7ef65a3bd857ea6252024fee1f295e588f98f28 (patch)
treefd5760a96902743c4d519806131a71c6743718a9 /chrome
parent9897787d4f0ef0234705d3dc2d5087e2ffe745c0 (diff)
downloadchromium_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.cc5
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) {