summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/common/gtk_util.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/chrome/common/gtk_util.cc b/chrome/common/gtk_util.cc
index fac62f4..69c24f2 100644
--- a/chrome/common/gtk_util.cc
+++ b/chrome/common/gtk_util.cc
@@ -569,11 +569,17 @@ void StackPopupWindow(GtkWidget* popup, GtkWidget* toplevel) {
}
gfx::Rect GetWidgetRectRelativeToToplevel(GtkWidget* widget) {
+ DCHECK(GTK_WIDGET_REALIZED(widget));
+
+ GtkWidget* toplevel = gtk_widget_get_toplevel(widget);
+ DCHECK(toplevel);
+ DCHECK(GTK_WIDGET_REALIZED(toplevel));
+
gint x = 0, y = 0;
- DCHECK(gtk_widget_translate_coordinates(widget,
- gtk_widget_get_toplevel(widget),
- 0, 0,
- &x, &y));
+ gtk_widget_translate_coordinates(widget,
+ toplevel,
+ 0, 0,
+ &x, &y);
return gfx::Rect(x, y, widget->allocation.width, widget->allocation.height);
}