Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(625)

Unified Diff: chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc

Issue 9371005: GTK: Do more GSEALing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc
diff --git a/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc b/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc
index 05033223f3a4d5445d129fa0e2c86113de016f25..23c11d544534a5beceb3668c98518d642a3c3279 100644
--- a/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc
+++ b/chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.cc
@@ -644,12 +644,15 @@ void BookmarkBarGtk::UpdateDetachedState(BookmarkBar::State old_state) {
UpdateEventBoxPaintability();
// |window_| can be NULL during testing.
// Listen for parent size allocations. Only connect once.
- if (window_ && detached && widget()->parent &&
- g_signal_handler_find(widget()->parent, G_SIGNAL_MATCH_FUNC,
- 0, 0, NULL, reinterpret_cast<gpointer>(OnParentSizeAllocateThunk),
- NULL) == 0) {
- g_signal_connect(widget()->parent, "size-allocate",
- G_CALLBACK(OnParentSizeAllocateThunk), this);
+ if (window_ && detached) {
+ GtkWidget* parent = gtk_widget_get_parent(widget());
+ if (parent &&
+ g_signal_handler_find(parent, G_SIGNAL_MATCH_FUNC,
+ 0, 0, NULL, reinterpret_cast<gpointer>(OnParentSizeAllocateThunk),
+ NULL) == 0) {
+ g_signal_connect(parent, "size-allocate",
+ G_CALLBACK(OnParentSizeAllocateThunk), this);
+ }
}
}
@@ -818,8 +821,9 @@ int BookmarkBarGtk::GetToolbarIndexForDragOverFolder(GtkWidget* button,
if (x > margin && x < (allocation.width - margin))
return -1;
+ GtkWidget* parent = gtk_widget_get_parent(button);
gint index = gtk_toolbar_get_item_index(GTK_TOOLBAR(bookmark_toolbar_.get()),
- GTK_TOOL_ITEM(button->parent));
+ GTK_TOOL_ITEM(parent));
if (x > margin)
index++;
return index;
@@ -1146,9 +1150,11 @@ void BookmarkBarGtk::OnClicked(GtkWidget* sender) {
void BookmarkBarGtk::OnButtonDragBegin(GtkWidget* button,
GdkDragContext* drag_context) {
+ GtkWidget* button_parent = gtk_widget_get_parent(button);
+
// The parent tool item might be removed during the drag. Ref it so |button|
// won't get destroyed.
- g_object_ref(button->parent);
+ g_object_ref(button_parent);
const BookmarkNode* node = GetNodeForToolButton(button);
DCHECK(!dragged_node_);
@@ -1172,7 +1178,7 @@ void BookmarkBarGtk::OnButtonDragBegin(GtkWidget* button,
// Hide our node, but reserve space for it on the toolbar.
int index = gtk_toolbar_get_item_index(GTK_TOOLBAR(bookmark_toolbar_.get()),
- GTK_TOOL_ITEM(button->parent));
+ GTK_TOOL_ITEM(button_parent));
gtk_widget_hide(button);
toolbar_drop_item_ = CreateBookmarkToolItem(dragged_node_);
g_object_ref_sink(GTK_OBJECT(toolbar_drop_item_));
@@ -1196,7 +1202,7 @@ void BookmarkBarGtk::OnButtonDragEnd(GtkWidget* button,
gtk_widget_destroy(drag_icon_);
drag_icon_ = NULL;
- g_object_unref(button->parent);
+ g_object_unref(gtk_widget_get_parent(button));
}
void BookmarkBarGtk::OnButtonDragGet(GtkWidget* widget,
@@ -1280,8 +1286,9 @@ void BookmarkBarGtk::OnDragReceived(GtkWidget* widget,
switch (target_type) {
case ui::CHROME_BOOKMARK_ITEM: {
- Pickle pickle(reinterpret_cast<char*>(selection_data->data),
- selection_data->length);
+ gint length = gtk_selection_data_get_length(selection_data);
+ Pickle pickle(reinterpret_cast<const char*>(
+ gtk_selection_data_get_data(selection_data)), length);
BookmarkNodeData drag_data;
if (drag_data.ReadFromPickle(&pickle)) {
dnd_success = bookmark_utils::PerformBookmarkDrop(
@@ -1383,7 +1390,7 @@ gboolean BookmarkBarGtk::OnEventBoxExpose(GtkWidget* widget,
return FALSE;
if (bookmark_bar_state_ != BookmarkBar::DETACHED) {
- cairo_t* cr = gdk_cairo_create(GDK_DRAWABLE(widget->window));
+ cairo_t* cr = gdk_cairo_create(gtk_widget_get_window(widget));
gdk_cairo_rectangle(cr, &event->area);
cairo_clip(cr);
« no previous file with comments | « no previous file | chrome/browser/ui/gtk/find_bar_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698