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

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

Issue 9147044: GTK: More GSEALing. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: jhawkins refactor Created 8 years, 11 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 | « chrome/browser/ui/gtk/about_chrome_dialog.cc ('k') | chrome/browser/ui/gtk/bubble/bubble_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_utils_gtk.cc
diff --git a/chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.cc b/chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.cc
index 2af9ff76ed467ab907cb502f0aa1e8240b902ea7..d087151cf78f348a636954f8122cbd96b3f88c05 100644
--- a/chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.cc
+++ b/chrome/browser/ui/gtk/bookmarks/bookmark_utils_gtk.cc
@@ -324,7 +324,8 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes,
Pickle pickle;
data.WriteToPickle(profile, &pickle);
- gtk_selection_data_set(selection_data, selection_data->target,
+ gtk_selection_data_set(selection_data,
+ gtk_selection_data_get_target(selection_data),
kBitsInAByte,
static_cast<const guchar*>(pickle.data()),
pickle.size());
@@ -335,7 +336,7 @@ void WriteBookmarksToSelection(const std::vector<const BookmarkNode*>& nodes,
std::string utf8_text = nodes[0]->url().spec() + "\n" +
UTF16ToUTF8(nodes[0]->GetTitle());
gtk_selection_data_set(selection_data,
- selection_data->target,
+ gtk_selection_data_get_target(selection_data),
kBitsInAByte,
reinterpret_cast<const guchar*>(utf8_text.c_str()),
utf8_text.length());
@@ -394,22 +395,26 @@ std::vector<const BookmarkNode*> GetNodesFromSelection(
if (dnd_success)
*dnd_success = FALSE;
- if (selection_data && selection_data->length > 0) {
- if (context && delete_selection_data && context->action == GDK_ACTION_MOVE)
- *delete_selection_data = TRUE;
-
- switch (target_type) {
- case ui::CHROME_BOOKMARK_ITEM: {
- if (dnd_success)
- *dnd_success = TRUE;
- Pickle pickle(reinterpret_cast<char*>(selection_data->data),
- selection_data->length);
- BookmarkNodeData drag_data;
- drag_data.ReadFromPickle(&pickle);
- return drag_data.GetNodes(profile);
- }
- default: {
- DLOG(ERROR) << "Unsupported drag received type: " << target_type;
+ if (selection_data) {
+ gint length = gtk_selection_data_get_length(selection_data);
+ if (length > 0) {
+ if (context && delete_selection_data &&
+ context->action == GDK_ACTION_MOVE)
+ *delete_selection_data = TRUE;
+
+ switch (target_type) {
+ case ui::CHROME_BOOKMARK_ITEM: {
+ if (dnd_success)
+ *dnd_success = TRUE;
+ Pickle pickle(reinterpret_cast<const char*>(
+ gtk_selection_data_get_data(selection_data)), length);
+ BookmarkNodeData drag_data;
+ drag_data.ReadFromPickle(&pickle);
+ return drag_data.GetNodes(profile);
+ }
+ default: {
+ DLOG(ERROR) << "Unsupported drag received type: " << target_type;
+ }
}
}
}
« no previous file with comments | « chrome/browser/ui/gtk/about_chrome_dialog.cc ('k') | chrome/browser/ui/gtk/bubble/bubble_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698