| Index: chrome/browser/ui/gtk/browser_window_gtk.cc
|
| diff --git a/chrome/browser/ui/gtk/browser_window_gtk.cc b/chrome/browser/ui/gtk/browser_window_gtk.cc
|
| index 774bd6ae9ebc67ae7acc645cf2d8529112254ee9..96ecf9bdaa3fe26f40bc1a4587fb4975b420524b 100644
|
| --- a/chrome/browser/ui/gtk/browser_window_gtk.cc
|
| +++ b/chrome/browser/ui/gtk/browser_window_gtk.cc
|
| @@ -257,8 +257,9 @@ void SetWindowSize(GtkWindow* window, const gfx::Size& size) {
|
| gint current_height = 0;
|
| gtk_window_get_size(window, ¤t_width, ¤t_height);
|
| GdkRectangle size_with_decorations = {0};
|
| - if (GTK_WIDGET(window)->window) {
|
| - gdk_window_get_frame_extents(GTK_WIDGET(window)->window,
|
| + GdkWindow* gdk_window = gtk_widget_get_window(GTK_WIDGET(window));
|
| + if (gdk_window) {
|
| + gdk_window_get_frame_extents(gdk_window,
|
| &size_with_decorations);
|
| }
|
|
|
| @@ -743,7 +744,7 @@ void BrowserWindowGtk::Activate() {
|
| }
|
|
|
| void BrowserWindowGtk::Deactivate() {
|
| - gdk_window_lower(GTK_WIDGET(window_)->window);
|
| + gdk_window_lower(gtk_widget_get_window(GTK_WIDGET(window_)));
|
| }
|
|
|
| bool BrowserWindowGtk::IsActive() const {
|
| @@ -1261,7 +1262,7 @@ void BrowserWindowGtk::ActiveWindowChanged(GdkWindow* active_window) {
|
| if (!window_)
|
| return;
|
|
|
| - bool is_active = (GTK_WIDGET(window_)->window == active_window);
|
| + bool is_active = gtk_widget_get_window(GTK_WIDGET(window_)) == active_window;
|
| bool changed = (is_active != is_active_);
|
|
|
| if (is_active && changed) {
|
| @@ -1557,7 +1558,7 @@ void BrowserWindowGtk::ResetCustomFrameCursor() {
|
| return;
|
|
|
| frame_cursor_ = NULL;
|
| - gdk_window_set_cursor(GTK_WIDGET(window_)->window, NULL);
|
| + gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(window_)), NULL);
|
| }
|
|
|
| // static
|
| @@ -1773,7 +1774,7 @@ void BrowserWindowGtk::InitWidgets() {
|
|
|
| // We have to realize the window before we try to apply a window shape mask.
|
| gtk_widget_realize(GTK_WIDGET(window_));
|
| - state_ = gdk_window_get_state(GTK_WIDGET(window_)->window);
|
| + state_ = gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET(window_)));
|
| // Note that calling this the first time is necessary to get the
|
| // proper control layout.
|
| UpdateCustomFrame();
|
| @@ -1852,7 +1853,8 @@ void BrowserWindowGtk::UpdateWindowShape(int width, int height) {
|
| gdk_region_union_with_rect(mask, &mid_rect);
|
| gdk_region_union_with_rect(mask, &bot_mid_rect);
|
| gdk_region_union_with_rect(mask, &bot_bot_rect);
|
| - gdk_window_shape_combine_region(GTK_WIDGET(window_)->window, mask, 0, 0);
|
| + gdk_window_shape_combine_region(gtk_widget_get_window(GTK_WIDGET(window_)),
|
| + mask, 0, 0);
|
| gdk_region_destroy(mask);
|
| gtk_alignment_set_padding(GTK_ALIGNMENT(window_container_), 1,
|
| kFrameBorderThickness, kFrameBorderThickness, kFrameBorderThickness);
|
| @@ -1863,10 +1865,12 @@ void BrowserWindowGtk::UpdateWindowShape(int width, int height) {
|
| // seem to work on KWin, so manually set the shape to the whole window.
|
| GdkRectangle rect = { 0, 0, width, height };
|
| GdkRegion* mask = gdk_region_rectangle(&rect);
|
| - gdk_window_shape_combine_region(GTK_WIDGET(window_)->window, mask, 0, 0);
|
| + gdk_window_shape_combine_region(
|
| + gtk_widget_get_window(GTK_WIDGET(window_)), mask, 0, 0);
|
| gdk_region_destroy(mask);
|
| } else {
|
| - gdk_window_shape_combine_region(GTK_WIDGET(window_)->window, NULL, 0, 0);
|
| + gdk_window_shape_combine_region(
|
| + gtk_widget_get_window(GTK_WIDGET(window_)), NULL, 0, 0);
|
| }
|
| gtk_alignment_set_padding(GTK_ALIGNMENT(window_container_), 0, 0, 0, 0);
|
| }
|
| @@ -1903,7 +1907,7 @@ gfx::Size BrowserWindowGtk::GetNonClientFrameSize() const {
|
| }
|
|
|
| void BrowserWindowGtk::InvalidateWindow() {
|
| - gdk_window_invalidate_rect(GTK_WIDGET(window_)->window,
|
| + gdk_window_invalidate_rect(gtk_widget_get_window(GTK_WIDGET(window_)),
|
| >K_WIDGET(window_)->allocation, TRUE);
|
| }
|
|
|
| @@ -2058,11 +2062,11 @@ gboolean BrowserWindowGtk::OnMouseMoveEvent(GtkWidget* widget,
|
| // This method is used to update the mouse cursor when over the edge of the
|
| // custom frame. If the custom frame is off or we're over some other widget,
|
| // do nothing.
|
| - if (!UseCustomFrame() || event->window != widget->window) {
|
| + if (!UseCustomFrame() || event->window != gtk_widget_get_window(widget)) {
|
| // Reset the cursor.
|
| if (frame_cursor_) {
|
| frame_cursor_ = NULL;
|
| - gdk_window_set_cursor(GTK_WIDGET(window_)->window, NULL);
|
| + gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(window_)), NULL);
|
| }
|
| return FALSE;
|
| }
|
| @@ -2085,7 +2089,8 @@ gboolean BrowserWindowGtk::OnMouseMoveEvent(GtkWidget* widget,
|
| } else {
|
| frame_cursor_ = NULL;
|
| }
|
| - gdk_window_set_cursor(GTK_WIDGET(window_)->window, frame_cursor_);
|
| + gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(window_)),
|
| + frame_cursor_);
|
| }
|
| return FALSE;
|
| }
|
| @@ -2108,7 +2113,8 @@ gboolean BrowserWindowGtk::OnButtonPressEvent(GtkWidget* widget,
|
|
|
| // Make the button press coordinate relative to the browser window.
|
| int win_x, win_y;
|
| - gdk_window_get_origin(GTK_WIDGET(window_)->window, &win_x, &win_y);
|
| + GdkWindow* gdk_window = gtk_widget_get_window(GTK_WIDGET(window_));
|
| + gdk_window_get_origin(gdk_window, &win_x, &win_y);
|
|
|
| GdkWindowEdge edge;
|
| gfx::Point point(static_cast<int>(event->x_root - win_x),
|
| @@ -2138,7 +2144,7 @@ gboolean BrowserWindowGtk::OnButtonPressEvent(GtkWidget* widget,
|
| // match the behavior of most window managers, unless that behavior has
|
| // been suppressed.
|
| if ((has_hit_titlebar || has_hit_edge) && !suppress_window_raise_)
|
| - gdk_window_raise(GTK_WIDGET(window_)->window);
|
| + gdk_window_raise(gdk_window);
|
|
|
| if (has_hit_titlebar) {
|
| return HandleTitleBarLeftMousePress(
|
| @@ -2163,7 +2169,7 @@ gboolean BrowserWindowGtk::OnButtonPressEvent(GtkWidget* widget,
|
| }
|
| } else if (event->button == 2) {
|
| if (has_hit_titlebar || has_hit_edge) {
|
| - gdk_window_lower(GTK_WIDGET(window_)->window);
|
| + gdk_window_lower(gdk_window);
|
| }
|
| return TRUE;
|
| } else if (event->button == 3) {
|
| @@ -2241,7 +2247,7 @@ void BrowserWindowGtk::ShowSupportedWindowFeatures() {
|
| if (IsToolbarSupported()) {
|
| toolbar_->Show();
|
| gtk_widget_show(toolbar_border_);
|
| - gdk_window_lower(toolbar_border_->window);
|
| + gdk_window_lower(gtk_widget_get_window(toolbar_border_));
|
| }
|
|
|
| if (IsBookmarkBarSupported())
|
| @@ -2344,7 +2350,7 @@ bool BrowserWindowGtk::BoundsMatchMonitorSize() {
|
| // A screen can be composed of multiple monitors.
|
| GdkScreen* screen = gtk_window_get_screen(window_);
|
| gint monitor_num = gdk_screen_get_monitor_at_window(screen,
|
| - GTK_WIDGET(window_)->window);
|
| + gtk_widget_get_window(GTK_WIDGET(window_)));
|
|
|
| GdkRectangle monitor_size;
|
| gdk_screen_get_monitor_geometry(screen, monitor_num, &monitor_size);
|
|
|