| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "views/widget/widget_gtk.h" | 5 #include "views/widget/widget_gtk.h" |
| 6 | 6 |
| 7 #include <gdk/gdk.h> | 7 #include <gdk/gdk.h> |
| 8 #include <gdk/gdkx.h> | 8 #include <gdk/gdkx.h> |
| 9 #include <X11/extensions/shape.h> | 9 #include <X11/extensions/shape.h> |
| 10 | 10 |
| (...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 982 GdkEventVisibility* event) { | 982 GdkEventVisibility* event) { |
| 983 return false; | 983 return false; |
| 984 } | 984 } |
| 985 | 985 |
| 986 gboolean WidgetGtk::OnGrabBrokeEvent(GtkWidget* widget, GdkEvent* event) { | 986 gboolean WidgetGtk::OnGrabBrokeEvent(GtkWidget* widget, GdkEvent* event) { |
| 987 HandleGrabBroke(); | 987 HandleGrabBroke(); |
| 988 return false; // To let other widgets get the event. | 988 return false; // To let other widgets get the event. |
| 989 } | 989 } |
| 990 | 990 |
| 991 void WidgetGtk::OnGrabNotify(GtkWidget* widget, gboolean was_grabbed) { | 991 void WidgetGtk::OnGrabNotify(GtkWidget* widget, gboolean was_grabbed) { |
| 992 if (!window_contents_) |
| 993 return; // Grab broke after window destroyed, don't try processing it. |
| 994 |
| 992 gtk_grab_remove(window_contents_); | 995 gtk_grab_remove(window_contents_); |
| 993 HandleGrabBroke(); | 996 HandleGrabBroke(); |
| 994 } | 997 } |
| 995 | 998 |
| 996 void WidgetGtk::OnDestroy(GtkWidget* object) { | 999 void WidgetGtk::OnDestroy(GtkWidget* object) { |
| 997 // Note that this handler is hooked to GtkObject::destroy. | 1000 // Note that this handler is hooked to GtkObject::destroy. |
| 998 widget_ = window_contents_ = NULL; | 1001 widget_ = window_contents_ = NULL; |
| 999 if (delete_on_destroy_) { | 1002 if (delete_on_destroy_) { |
| 1000 // Delays the deletion of this WidgetGtk as we want its children to have | 1003 // Delays the deletion of this WidgetGtk as we want its children to have |
| 1001 // access to it when destroyed. | 1004 // access to it when destroyed. |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1369 | 1372 |
| 1370 // static | 1373 // static |
| 1371 Widget* Widget::GetWidgetFromNativeWindow(gfx::NativeWindow native_window) { | 1374 Widget* Widget::GetWidgetFromNativeWindow(gfx::NativeWindow native_window) { |
| 1372 gpointer raw_widget = g_object_get_data(G_OBJECT(native_window), kWidgetKey); | 1375 gpointer raw_widget = g_object_get_data(G_OBJECT(native_window), kWidgetKey); |
| 1373 if (raw_widget) | 1376 if (raw_widget) |
| 1374 return reinterpret_cast<Widget*>(raw_widget); | 1377 return reinterpret_cast<Widget*>(raw_widget); |
| 1375 return NULL; | 1378 return NULL; |
| 1376 } | 1379 } |
| 1377 | 1380 |
| 1378 } // namespace views | 1381 } // namespace views |
| OLD | NEW |