[Xfce4-commits] [xfce/thunar] 10/46: Make it build with GSEAL

noreply at xfce.org noreply at xfce.org
Tue Aug 15 02:35:18 CEST 2017


This is an automated email from the git hooks/post-receive script.

a   n   d   r   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/thunar.

commit 5d25e291cd99db0a0870c4b31144dbb85b94517f
Author: Jonas Kümmerlin <rgcjonas at gmail.com>
Date:   Wed Aug 5 21:46:05 2015 +0200

    Make it build with GSEAL
    
    This is a prerequisite for Gtk3 which removes all the fields.
---
 plugins/thunar-sendto-email/main.c      |  2 +-
 plugins/thunar-uca/thunar-uca-chooser.c |  4 +-
 plugins/thunar-uca/thunar-uca-editor.c  |  6 +--
 thunar/thunar-abstract-dialog.c         |  2 +-
 thunar/thunar-abstract-icon-view.c      | 38 ++++++++--------
 thunar/thunar-chooser-dialog.c          |  4 +-
 thunar/thunar-clipboard-manager.c       |  8 ++--
 thunar/thunar-column-editor.c           |  6 +--
 thunar/thunar-compact-view.c            |  6 +--
 thunar/thunar-create-dialog.c           |  2 +-
 thunar/thunar-details-view.c            | 34 +++++++--------
 thunar/thunar-dialogs.c                 |  4 +-
 thunar/thunar-file.c                    |  6 +--
 thunar/thunar-gtk-extensions.h          | 60 +++++++++++++++++++++++++
 thunar/thunar-icon-renderer.c           | 33 +++++++++-----
 thunar/thunar-icon-view.c               |  4 +-
 thunar/thunar-location-button.c         | 12 ++---
 thunar/thunar-location-buttons.c        | 47 +++++++++++---------
 thunar/thunar-location-dialog.c         |  4 +-
 thunar/thunar-path-entry.c              |  8 ++--
 thunar/thunar-permissions-chooser.c     |  2 +-
 thunar/thunar-preferences-dialog.c      |  2 +-
 thunar/thunar-properties-dialog.c       |  2 +-
 thunar/thunar-renamer-dialog.c          | 14 +++---
 thunar/thunar-shortcuts-icon-renderer.c |  3 +-
 thunar/thunar-shortcuts-view.c          | 16 +++----
 thunar/thunar-standard-view.c           | 77 +++++++++++++++++----------------
 thunar/thunar-templates-action.c        | 10 ++++-
 thunar/thunar-text-renderer.c           | 60 +++++++++++++++++--------
 thunar/thunar-tree-view.c               | 16 +++----
 thunar/thunar-window.c                  | 13 +++---
 thunarx/thunarx-property-page.c         | 28 ++++++------
 32 files changed, 321 insertions(+), 212 deletions(-)

diff --git a/plugins/thunar-sendto-email/main.c b/plugins/thunar-sendto-email/main.c
index 467dacd..db31890 100644
--- a/plugins/thunar-sendto-email/main.c
+++ b/plugins/thunar-sendto-email/main.c
@@ -277,7 +277,7 @@ tse_progress (const gchar *working_directory,
   /* setup the hbox */
   hbox = gtk_hbox_new (FALSE, 12);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
   gtk_widget_show (hbox);
   
   /* setup the image */
diff --git a/plugins/thunar-uca/thunar-uca-chooser.c b/plugins/thunar-uca/thunar-uca-chooser.c
index 787f7e8..e3731a6 100644
--- a/plugins/thunar-uca/thunar-uca-chooser.c
+++ b/plugins/thunar-uca/thunar-uca-chooser.c
@@ -116,7 +116,7 @@ thunar_uca_chooser_init (ThunarUcaChooser *uca_chooser)
 
   hbox = gtk_hbox_new (FALSE, 3);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (uca_chooser)->vbox), hbox, FALSE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (uca_chooser))), hbox, FALSE, TRUE, 0);
   gtk_widget_show (hbox);
 
   image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DND);
@@ -131,7 +131,7 @@ thunar_uca_chooser_init (ThunarUcaChooser *uca_chooser)
 
   hbox = gtk_hbox_new (FALSE, 3);
   gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (uca_chooser)->vbox), hbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (uca_chooser))), hbox, TRUE, TRUE, 0);
   gtk_widget_show (hbox);
 
   swin = gtk_scrolled_window_new (NULL, NULL);
diff --git a/plugins/thunar-uca/thunar-uca-editor.c b/plugins/thunar-uca/thunar-uca-editor.c
index dfdead9..1ee0117 100644
--- a/plugins/thunar-uca/thunar-uca-editor.c
+++ b/plugins/thunar-uca/thunar-uca-editor.c
@@ -113,7 +113,7 @@ thunar_uca_editor_init (ThunarUcaEditor *uca_editor)
 
   notebook = gtk_notebook_new ();
   gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (uca_editor)->vbox), notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (uca_editor))), notebook, TRUE, TRUE, 0);
   gtk_widget_show (notebook);
 
   /*
@@ -654,8 +654,8 @@ thunar_uca_editor_set_icon_name (ThunarUcaEditor *uca_editor,
   g_return_if_fail (THUNAR_UCA_IS_EDITOR (uca_editor));
 
   /* drop the previous button child */
-  if (GTK_BIN (uca_editor->icon_button)->child != NULL)
-    gtk_widget_destroy (GTK_BIN (uca_editor->icon_button)->child);
+  if (gtk_bin_get_child (GTK_BIN (uca_editor->icon_button)) != NULL)
+    gtk_widget_destroy (gtk_bin_get_child (GTK_BIN (uca_editor->icon_button)));
 
   /* setup the icon button */
   if (icon_name != NULL)
diff --git a/thunar/thunar-abstract-dialog.c b/thunar/thunar-abstract-dialog.c
index 140315e..48d71fe 100644
--- a/thunar/thunar-abstract-dialog.c
+++ b/thunar/thunar-abstract-dialog.c
@@ -69,7 +69,7 @@ thunar_abstract_dialog_close (GtkDialog *dialog)
     {
       /* send a delete event to the dialog */
       event = gdk_event_new (GDK_DELETE);
-      event->any.window = g_object_ref (GTK_WIDGET (dialog)->window);
+      event->any.window = g_object_ref (gtk_widget_get_window (GTK_WIDGET (dialog)));
       event->any.send_event = TRUE;
       gtk_main_do_event (event);
       gdk_event_free (event);
diff --git a/thunar/thunar-abstract-icon-view.c b/thunar/thunar-abstract-icon-view.c
index bb07326..828818b 100644
--- a/thunar/thunar-abstract-icon-view.c
+++ b/thunar/thunar-abstract-icon-view.c
@@ -259,8 +259,8 @@ thunar_abstract_icon_view_style_set (GtkWidget *widget,
   gtk_widget_style_get (widget, "column-spacing", &column_spacing, "row-spacing", &row_spacing, NULL);
 
   /* apply the column/row spacing to the icon view */
-  exo_icon_view_set_column_spacing (EXO_ICON_VIEW (GTK_BIN (widget)->child), column_spacing);
-  exo_icon_view_set_row_spacing (EXO_ICON_VIEW (GTK_BIN (widget)->child), row_spacing);
+  exo_icon_view_set_column_spacing (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (widget))), column_spacing);
+  exo_icon_view_set_row_spacing (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (widget))), row_spacing);
 
   /* call the parent handler */
   (*GTK_WIDGET_CLASS (thunar_abstract_icon_view_parent_class)->style_set) (widget, previous_style);
@@ -298,7 +298,7 @@ thunar_abstract_icon_view_disconnect_ui_manager (ThunarStandardView *standard_vi
 static GList*
 thunar_abstract_icon_view_get_selected_items (ThunarStandardView *standard_view)
 {
-  return exo_icon_view_get_selected_items (EXO_ICON_VIEW (GTK_BIN (standard_view)->child));
+  return exo_icon_view_get_selected_items (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
 }
 
 
@@ -307,7 +307,7 @@ static void
 thunar_abstract_icon_view_select_all (ThunarStandardView *standard_view)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_select_all (EXO_ICON_VIEW (GTK_BIN (standard_view)->child));
+  exo_icon_view_select_all (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
 }
 
 
@@ -316,7 +316,7 @@ static void
 thunar_abstract_icon_view_unselect_all (ThunarStandardView *standard_view)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_unselect_all (EXO_ICON_VIEW (GTK_BIN (standard_view)->child));
+  exo_icon_view_unselect_all (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
 }
 
 
@@ -325,7 +325,7 @@ static void
 thunar_abstract_icon_view_selection_invert (ThunarStandardView *standard_view)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_selection_invert (EXO_ICON_VIEW (GTK_BIN (standard_view)->child));
+  exo_icon_view_selection_invert (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
 }
 
 
@@ -335,7 +335,7 @@ thunar_abstract_icon_view_select_path (ThunarStandardView *standard_view,
                                        GtkTreePath        *path)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_select_path (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), path);
+  exo_icon_view_select_path (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path);
 }
 
 
@@ -350,14 +350,14 @@ thunar_abstract_icon_view_set_cursor (ThunarStandardView *standard_view,
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
 
   /* make sure the name renderer is editable */
-  mode = standard_view->name_renderer->mode;
-  standard_view->name_renderer->mode = GTK_CELL_RENDERER_MODE_EDITABLE;
+  g_object_get ( G_OBJECT (standard_view->name_renderer), "mode", &mode, NULL);
+  g_object_set ( G_OBJECT (standard_view->name_renderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
 
   /* tell the abstract_icon view to start editing the given item */
-  exo_icon_view_set_cursor (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), path, standard_view->name_renderer, start_editing);
+  exo_icon_view_set_cursor (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path, standard_view->name_renderer, start_editing);
 
   /* reset the name renderer mode */
-  standard_view->name_renderer->mode = mode;
+  g_object_set (G_OBJECT (standard_view->name_renderer), "mode", mode, NULL);
 }
 
 
@@ -370,7 +370,7 @@ thunar_abstract_icon_view_scroll_to_path (ThunarStandardView *standard_view,
                                           gfloat              col_align)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_scroll_to_path (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), path, use_align, row_align, col_align);
+  exo_icon_view_scroll_to_path (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path, use_align, row_align, col_align);
 }
 
 
@@ -381,7 +381,7 @@ thunar_abstract_icon_view_get_path_at_pos (ThunarStandardView *standard_view,
                                            gint                y)
 {
   _thunar_return_val_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view), NULL);
-  return exo_icon_view_get_path_at_pos (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), x, y);
+  return exo_icon_view_get_path_at_pos (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), x, y);
 }
 
 
@@ -392,7 +392,7 @@ thunar_abstract_icon_view_get_visible_range (ThunarStandardView *standard_view,
                                              GtkTreePath       **end_path)
 {
   _thunar_return_val_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view), FALSE);
-  return exo_icon_view_get_visible_range (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), start_path, end_path);
+  return exo_icon_view_get_visible_range (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), start_path, end_path);
 }
 
 
@@ -402,7 +402,7 @@ thunar_abstract_icon_view_highlight_path (ThunarStandardView *standard_view,
                                           GtkTreePath        *path)
 {
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (standard_view));
-  exo_icon_view_set_drag_dest_item (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), path, EXO_ICON_VIEW_DROP_INTO);
+  exo_icon_view_set_drag_dest_item (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path, EXO_ICON_VIEW_DROP_INTO);
 }
 
 
@@ -638,7 +638,7 @@ thunar_abstract_icon_view_expose_event (ExoIconView            *view,
   cr = gdk_cairo_create (event->window);
 
   /* shade the abstract_icon view content while performing mouse gestures */
-  bg = GTK_WIDGET (view)->style->base[GTK_STATE_NORMAL];
+  bg = gtk_widget_get_style (GTK_WIDGET (view))->base[GTK_STATE_NORMAL];
   cairo_set_source_rgba (cr, bg.red / 65535.0, bg.green / 65535.0, bg.blue / 65535.0, 0.7);
   cairo_paint (cr);
 
@@ -650,10 +650,10 @@ thunar_abstract_icon_view_expose_event (ExoIconView            *view,
       g_object_get (G_OBJECT (action), "stock-id", &stock_id, NULL);
 
       /* lookup the abstract_icon set for the stock abstract_icon */
-      stock_icon_set = gtk_style_lookup_icon_set (GTK_WIDGET (view)->style, stock_id);
+      stock_icon_set = gtk_style_lookup_icon_set (gtk_widget_get_style (GTK_WIDGET (view)), stock_id);
       if (G_LIKELY (stock_icon_set != NULL))
         {
-          stock_icon = gtk_icon_set_render_icon (stock_icon_set, GTK_WIDGET (view)->style,
+          stock_icon = gtk_icon_set_render_icon (stock_icon_set, gtk_widget_get_style (GTK_WIDGET (view)),
                                                  gtk_widget_get_direction (GTK_WIDGET (view)),
                                                  gtk_action_is_sensitive (action) ? 0 : GTK_STATE_INSENSITIVE,
                                                  GTK_ICON_SIZE_DND, GTK_WIDGET (view), NULL);
@@ -793,7 +793,7 @@ thunar_abstract_icon_view_zoom_level_changed (ThunarAbstractIconView *abstract_i
   _thunar_return_if_fail (THUNAR_IS_ABSTRACT_ICON_VIEW (abstract_icon_view));
 
   /* we use the same trick as with ThunarDetailsView here, simply because its simple :-) */
-  gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (GTK_BIN (abstract_icon_view)->child),
+  gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (gtk_bin_get_child (GTK_BIN (abstract_icon_view))),
                                       THUNAR_STANDARD_VIEW (abstract_icon_view)->icon_renderer,
                                       NULL, NULL, NULL);
 }
diff --git a/thunar/thunar-chooser-dialog.c b/thunar/thunar-chooser-dialog.c
index da9348b..6389b7a 100644
--- a/thunar/thunar-chooser-dialog.c
+++ b/thunar/thunar-chooser-dialog.c
@@ -189,7 +189,7 @@ thunar_chooser_dialog_init (ThunarChooserDialog *dialog)
 
   /* create the main widget box */
   vbox = g_object_new (GTK_TYPE_VBOX, "border-width", 6, "spacing", 12, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), vbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), vbox, TRUE, TRUE, 0);
   gtk_widget_show (vbox);
 
   /* create the header box */
@@ -953,7 +953,7 @@ thunar_chooser_dialog_expand (ThunarChooserDialog *dialog)
 
   /* reset the cursor */
   if (G_LIKELY (gtk_widget_get_realized (GTK_WIDGET (dialog))))
-    gdk_window_set_cursor (GTK_WIDGET (dialog)->window, NULL);
+    gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (dialog)), NULL);
 
   /* grab focus to the tree view widget */
   if (G_LIKELY (gtk_widget_get_realized (dialog->tree_view)))
diff --git a/thunar/thunar-clipboard-manager.c b/thunar/thunar-clipboard-manager.c
index f2b6518..4796716 100644
--- a/thunar/thunar-clipboard-manager.c
+++ b/thunar/thunar-clipboard-manager.c
@@ -301,11 +301,11 @@ thunar_clipboard_manager_contents_received (GtkClipboard     *clipboard,
   gchar                       *data;
 
   /* check whether the retrieval worked */
-  if (G_LIKELY (selection_data->length > 0))
+  if (G_LIKELY (gtk_selection_data_get_length (selection_data) > 0))
     {
       /* be sure the selection data is zero-terminated */
-      data = (gchar *) selection_data->data;
-      data[selection_data->length] = '\0';
+      data = (gchar *) gtk_selection_data_get_data (selection_data);
+      data[gtk_selection_data_get_length (selection_data)] = '\0';
 
       /* check whether to copy or move */
       if (g_ascii_strncasecmp (data, "copy\n", 5) == 0)
@@ -472,7 +472,7 @@ thunar_clipboard_manager_get_callback (GtkClipboard     *clipboard,
     case TARGET_GNOME_COPIED_FILES:
       prefix = manager->files_cutted ? "cut\n" : "copy\n";
       str = thunar_clipboard_manager_g_file_list_to_string (file_list, prefix, FALSE, &len);
-      gtk_selection_data_set (selection_data, selection_data->target, 8, (guchar *) str, len);
+      gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data), 8, (guchar *) str, len);
       g_free (str);
       break;
 
diff --git a/thunar/thunar-column-editor.c b/thunar/thunar-column-editor.c
index 6c58532..64df763 100644
--- a/thunar/thunar-column-editor.c
+++ b/thunar/thunar-column-editor.c
@@ -123,13 +123,13 @@ thunar_column_editor_init (ThunarColumnEditor *column_editor)
   /* add the "Help" button */
   button = gtk_button_new_from_stock (GTK_STOCK_HELP);
   g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (thunar_column_editor_help_clicked), column_editor);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (column_editor)->action_area), button, FALSE, FALSE, 0);
-  gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (GTK_DIALOG (column_editor)->action_area), button, TRUE);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_action_area (GTK_DIALOG (column_editor))), button, FALSE, FALSE, 0);
+  gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (gtk_dialog_get_action_area (GTK_DIALOG (column_editor))), button, TRUE);
   gtk_widget_show (button);
 
   vbox = gtk_vbox_new (FALSE, 6);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (column_editor)->vbox), vbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (column_editor))), vbox, TRUE, TRUE, 0);
   gtk_widget_show (vbox);
 
   frame = g_object_new (GTK_TYPE_FRAME, "border-width", 0, "shadow-type", GTK_SHADOW_NONE, NULL);
diff --git a/thunar/thunar-compact-view.c b/thunar/thunar-compact-view.c
index b679a82..c9296b8 100644
--- a/thunar/thunar-compact-view.c
+++ b/thunar/thunar-compact-view.c
@@ -68,9 +68,9 @@ static void
 thunar_compact_view_init (ThunarCompactView *compact_view)
 {
  /* initialize the icon view properties */
-  exo_icon_view_set_margin (EXO_ICON_VIEW (GTK_BIN (compact_view)->child), 3);
-  exo_icon_view_set_layout_mode (EXO_ICON_VIEW (GTK_BIN (compact_view)->child), EXO_ICON_VIEW_LAYOUT_COLS);
-  exo_icon_view_set_orientation (EXO_ICON_VIEW (GTK_BIN (compact_view)->child), GTK_ORIENTATION_HORIZONTAL);
+  exo_icon_view_set_margin (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (compact_view))), 3);
+  exo_icon_view_set_layout_mode (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (compact_view))), EXO_ICON_VIEW_LAYOUT_COLS);
+  exo_icon_view_set_orientation (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (compact_view))), GTK_ORIENTATION_HORIZONTAL);
 
   /* setup the icon renderer */
   g_object_set (G_OBJECT (THUNAR_STANDARD_VIEW (compact_view)->icon_renderer),
diff --git a/thunar/thunar-create-dialog.c b/thunar/thunar-create-dialog.c
index de6c976..3d5edc8 100644
--- a/thunar/thunar-create-dialog.c
+++ b/thunar/thunar-create-dialog.c
@@ -146,7 +146,7 @@ thunar_create_dialog_init (ThunarCreateDialog *dialog)
   gtk_window_set_default_size (GTK_WINDOW (dialog), 300, -1);
 
   table = g_object_new (GTK_TYPE_TABLE, "border-width", 6, "column-spacing", 6, "row-spacing", 3, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
 
   dialog->image = g_object_new (GTK_TYPE_IMAGE, "xpad", 6, "ypad", 6, NULL);
diff --git a/thunar/thunar-details-view.c b/thunar/thunar-details-view.c
index d26b72a..acb9339 100644
--- a/thunar/thunar-details-view.c
+++ b/thunar/thunar-details-view.c
@@ -440,7 +440,7 @@ thunar_details_view_get_selected_items (ThunarStandardView *standard_view)
 
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), NULL);
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   return gtk_tree_selection_get_selected_rows (selection, NULL);
 }
 
@@ -453,7 +453,7 @@ thunar_details_view_select_all (ThunarStandardView *standard_view)
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_select_all (selection);
 }
 
@@ -466,7 +466,7 @@ thunar_details_view_unselect_all (ThunarStandardView *standard_view)
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_unselect_all (selection);
 }
 
@@ -495,7 +495,7 @@ thunar_details_view_selection_invert (ThunarStandardView *standard_view)
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
 
   /* block updates */
   g_signal_handlers_block_by_func (selection, thunar_standard_view_selection_changed, standard_view);
@@ -530,7 +530,7 @@ thunar_details_view_select_path (ThunarStandardView *standard_view,
 
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
-  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (GTK_BIN (standard_view)->child));
+  selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))));
   gtk_tree_selection_select_path (selection, path);
 }
 
@@ -547,17 +547,17 @@ thunar_details_view_set_cursor (ThunarStandardView *standard_view,
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
   /* make sure the name renderer is editable */
-  mode = standard_view->name_renderer->mode;
-  standard_view->name_renderer->mode = GTK_CELL_RENDERER_MODE_EDITABLE;
+  g_object_get ( G_OBJECT (standard_view->name_renderer), "mode", &mode, NULL);
+  g_object_set ( G_OBJECT (standard_view->name_renderer), "mode", GTK_CELL_RENDERER_MODE_EDITABLE, NULL);
 
   /* tell the tree view to start editing the given row */
-  column = gtk_tree_view_get_column (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), 0);
-  gtk_tree_view_set_cursor_on_cell (GTK_TREE_VIEW (GTK_BIN (standard_view)->child),
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), 0);
+  gtk_tree_view_set_cursor_on_cell (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))),
                                     path, column, standard_view->name_renderer,
                                     start_editing);
 
   /* reset the name renderer mode */
-  standard_view->name_renderer->mode = mode;
+  g_object_set (G_OBJECT (standard_view->name_renderer), "mode", mode, NULL);
 }
 
 
@@ -574,8 +574,8 @@ thunar_details_view_scroll_to_path (ThunarStandardView *standard_view,
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
 
   /* tell the tree view to scroll to the given row */
-  column = gtk_tree_view_get_column (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), 0);
-  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), path, column, use_align, row_align, col_align);
+  column = gtk_tree_view_get_column (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), 0);
+  gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path, column, use_align, row_align, col_align);
 }
 
 
@@ -589,7 +589,7 @@ thunar_details_view_get_path_at_pos (ThunarStandardView *standard_view,
 
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), NULL);
 
-  if (gtk_tree_view_get_dest_row_at_pos (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), x, y, &path, NULL))
+  if (gtk_tree_view_get_dest_row_at_pos (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), x, y, &path, NULL))
     return path;
 
   return NULL;
@@ -604,7 +604,7 @@ thunar_details_view_get_visible_range (ThunarStandardView *standard_view,
 {
   _thunar_return_val_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view), FALSE);
 
-  return gtk_tree_view_get_visible_range (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), start_path, end_path);
+  return gtk_tree_view_get_visible_range (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), start_path, end_path);
 }
 
 
@@ -614,7 +614,7 @@ thunar_details_view_highlight_path (ThunarStandardView *standard_view,
                                     GtkTreePath        *path)
 {
   _thunar_return_if_fail (THUNAR_IS_DETAILS_VIEW (standard_view));
-  gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (GTK_BIN (standard_view)->child), path, GTK_TREE_VIEW_DROP_INTO_OR_AFTER);
+  gtk_tree_view_set_drag_dest_row (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), path, GTK_TREE_VIEW_DROP_INTO_OR_AFTER);
 }
 
 
@@ -880,7 +880,7 @@ thunar_details_view_columns_changed (ThunarColumnModel *column_model,
       /* change the order of the column relative to its predecessor */
       if (G_LIKELY (column > 0))
         {
-          gtk_tree_view_move_column_after (GTK_TREE_VIEW (GTK_BIN (details_view)->child),
+          gtk_tree_view_move_column_after (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (details_view))),
                                            details_view->columns[column_order[column]],
                                            details_view->columns[column_order[column - 1]]);
         }
@@ -986,7 +986,7 @@ thunar_details_view_set_fixed_columns (ThunarDetailsView *details_view,
       /* for fixed columns mode, we can enable the fixed height
        * mode to improve the performance of the GtkTreeVeiw.
        */
-      gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (GTK_BIN (details_view)->child), fixed_columns);
+      gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (gtk_bin_get_child (GTK_BIN (details_view))), fixed_columns);
 
       /* notify listeners */
       g_object_notify (G_OBJECT (details_view), "fixed-columns");
diff --git a/thunar/thunar-dialogs.c b/thunar/thunar-dialogs.c
index 911a276..62fa063 100644
--- a/thunar/thunar-dialogs.c
+++ b/thunar/thunar-dialogs.c
@@ -107,7 +107,7 @@ thunar_dialogs_show_rename_file (gpointer    parent,
     gtk_window_set_screen (GTK_WINDOW (dialog), screen);
 
   table = g_object_new (GTK_TYPE_TABLE, "border-width", 6, "column-spacing", 6, "row-spacing", 3, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
 
   icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (dialog));
@@ -567,7 +567,7 @@ thunar_dialogs_show_job_ask_replace (GtkWindow  *parent,
                         "row-spacing", 6,
                         "column-spacing", 5,
                         NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), table, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), table, TRUE, TRUE, 0);
   gtk_widget_show (table);
 
   image = gtk_image_new_from_icon_name ("stock_folder-copy", GTK_ICON_SIZE_BUTTON);
diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c
index 53bebbc..530bd1a 100644
--- a/thunar/thunar-file.c
+++ b/thunar/thunar-file.c
@@ -2024,13 +2024,13 @@ thunar_file_accepts_drop (ThunarFile     *file,
     return 0;
 
   /* default to whatever GTK+ thinks for the suggested action */
-  suggested_action = context->suggested_action;
+  suggested_action = gdk_drag_context_get_suggested_action (context);
 
   /* check if we have a writable directory here or an executable file */
   if (thunar_file_is_directory (file) && thunar_file_is_writable (file))
     {
       /* determine the possible actions */
-      actions = context->actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK);
+      actions = gdk_drag_context_get_actions (context) & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK);
 
       /* cannot create symbolic links in the trash or copy to the trash */
       if (thunar_file_is_trashed (file))
@@ -2108,7 +2108,7 @@ thunar_file_accepts_drop (ThunarFile     *file,
   else if (thunar_file_is_executable (file))
     {
       /* determine the possible actions */
-      actions = context->actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE);
+      actions = gdk_drag_context_get_actions (context) & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE);
     }
   else
     return 0;
diff --git a/thunar/thunar-gtk-extensions.h b/thunar/thunar-gtk-extensions.h
index 07e53ee..c5c160e 100644
--- a/thunar/thunar-gtk-extensions.h
+++ b/thunar/thunar-gtk-extensions.h
@@ -51,6 +51,66 @@ void             thunar_gtk_widget_set_tooltip                (GtkWidget
 
 GMountOperation *thunar_gtk_mount_operation_new               (gpointer            parent);
 
+static inline int
+thunar_gtk_widget_get_allocation_x (GtkWidget *widget)
+{
+    GtkAllocation allocation;
+
+    gtk_widget_get_allocation (widget, &allocation);
+
+    return allocation.x;
+}
+
+static inline int
+thunar_gtk_widget_get_allocation_y (GtkWidget *widget)
+{
+    GtkAllocation allocation;
+
+    gtk_widget_get_allocation (widget, &allocation);
+
+    return allocation.y;
+}
+
+static inline int
+thunar_gtk_widget_get_allocation_width (GtkWidget *widget)
+{
+    GtkAllocation allocation;
+
+    gtk_widget_get_allocation (widget, &allocation);
+
+    return allocation.width;
+}
+
+static inline int
+thunar_gtk_widget_get_allocation_height (GtkWidget *widget)
+{
+    GtkAllocation allocation;
+
+    gtk_widget_get_allocation (widget, &allocation);
+
+    return allocation.height;
+}
+
+static inline int
+thunar_gtk_widget_get_requisition_width (GtkWidget *widget)
+{
+    GtkRequisition requisition;
+
+    gtk_widget_get_requisition (widget, &requisition);
+
+    return requisition.width;
+}
+
+static inline int
+thunar_gtk_widget_get_requisition_height (GtkWidget *widget)
+{
+    GtkRequisition requisition;
+
+    gtk_widget_get_requisition (widget, &requisition);
+
+    return requisition.height;
+}
+
 G_END_DECLS;
 
 #endif /* !__THUNAR_GTK_EXTENSIONS_H__ */
diff --git a/thunar/thunar-icon-renderer.c b/thunar/thunar-icon-renderer.c
index 3b1f2da..4e1e7c0 100644
--- a/thunar/thunar-icon-renderer.c
+++ b/thunar/thunar-icon-renderer.c
@@ -161,8 +161,7 @@ static void
 thunar_icon_renderer_init (ThunarIconRenderer *icon_renderer)
 {
   /* use 1px padding */
-  GTK_CELL_RENDERER (icon_renderer)->xpad = 1;
-  GTK_CELL_RENDERER (icon_renderer)->ypad = 1;
+  gtk_cell_renderer_set_padding (GTK_CELL_RENDERER (icon_renderer), 1, 1);
 }
 
 
@@ -274,20 +273,27 @@ thunar_icon_renderer_get_size (GtkCellRenderer *renderer,
                                gint            *height)
 {
   ThunarIconRenderer *icon_renderer = THUNAR_ICON_RENDERER (renderer);
+  float xalign;
+  float yalign;
+  int xpad;
+  int ypad;
+
+  gtk_cell_renderer_get_alignment (renderer, &xalign, &yalign);
+  gtk_cell_renderer_get_padding (renderer, &xpad, &ypad);
 
   if (rectangle != NULL)
     {
       if (x_offset != NULL)
         {
-          *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? 1.0 - renderer->xalign : renderer->xalign)
+          *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? 1.0 - xalign : xalign)
                     * (rectangle->width - icon_renderer->size);
-          *x_offset = MAX (*x_offset, 0) + renderer->xpad;
+          *x_offset = MAX (*x_offset, 0) + xpad;
         }
 
       if (y_offset != NULL)
         {
-          *y_offset = renderer->yalign * (rectangle->height - icon_renderer->size);
-          *y_offset = MAX (*y_offset, 0) + renderer->ypad;
+          *y_offset = yalign * (rectangle->height - icon_renderer->size);
+          *y_offset = MAX (*y_offset, 0) + ypad;
         }
     }
   else
@@ -300,10 +306,10 @@ thunar_icon_renderer_get_size (GtkCellRenderer *renderer,
     }
 
   if (G_LIKELY (width != NULL))
-    *width = (gint) renderer->xpad * 2 + icon_renderer->size;
+    *width = (gint) xpad * 2 + icon_renderer->size;
 
   if (G_LIKELY (height != NULL))
-    *height = (gint) renderer->ypad * 2 + icon_renderer->size;
+    *height = (gint) ypad * 2 + icon_renderer->size;
 }
 
 
@@ -319,7 +325,7 @@ thunar_icon_renderer_color_selected (cairo_t   *cr,
 
   source = cairo_pattern_reference (cairo_get_source (cr));
   state = gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE;
-  gdk_cairo_set_source_color (cr, &widget->style->base[state]);
+  gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->base[state]);
   cairo_set_operator (cr, CAIRO_OPERATOR_MULTIPLY);
 
   cairo_mask (cr, source);
@@ -380,13 +386,16 @@ thunar_icon_renderer_render (GtkCellRenderer     *renderer,
   gint                    emblem_size;
   gboolean                color_selected;
   gboolean                color_lighten;
+  gboolean                is_expanded;
 
   if (G_UNLIKELY (icon_renderer->file == NULL))
     return;
 
+  g_object_get (renderer, "is-expanded", &is_expanded, NULL);
+
   /* determine the icon state */
   icon_state = (icon_renderer->drop_file != icon_renderer->file)
-             ? renderer->is_expanded
+             ? is_expanded
               ? THUNAR_FILE_ICON_STATE_OPEN
               : THUNAR_FILE_ICON_STATE_DEFAULT
              : THUNAR_FILE_ICON_STATE_DROP;
@@ -454,7 +463,7 @@ thunar_icon_renderer_render (GtkCellRenderer     *renderer,
       g_object_unref (G_OBJECT (clipboard));
 
       /* check if we should render an insensitive icon */
-      if (G_UNLIKELY (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE || !renderer->sensitive))
+      if (G_UNLIKELY (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE || !gtk_cell_renderer_get_sensitive (renderer)))
         {
           /* allocate an icon source */
           icon_source = gtk_icon_source_new ();
@@ -463,7 +472,7 @@ thunar_icon_renderer_render (GtkCellRenderer     *renderer,
           gtk_icon_source_set_size (icon_source, GTK_ICON_SIZE_SMALL_TOOLBAR);
 
           /* render the insensitive icon */
-          temp = gtk_style_render_icon (widget->style, icon_source, gtk_widget_get_direction (widget),
+          temp = gtk_style_render_icon (gtk_widget_get_style (widget), icon_source, gtk_widget_get_direction (widget),
                                         GTK_STATE_INSENSITIVE, -1, widget, "gtkcellrendererpixbuf");
           g_object_unref (G_OBJECT (icon));
           icon = temp;
diff --git a/thunar/thunar-icon-view.c b/thunar/thunar-icon-view.c
index 0ebde99..a5ac206 100644
--- a/thunar/thunar-icon-view.c
+++ b/thunar/thunar-icon-view.c
@@ -125,7 +125,7 @@ thunar_icon_view_set_property (GObject      *object,
     case PROP_TEXT_BESIDE_ICONS:
       if (G_UNLIKELY (g_value_get_boolean (value)))
         {
-          exo_icon_view_set_orientation (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), GTK_ORIENTATION_HORIZONTAL);
+          exo_icon_view_set_orientation (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), GTK_ORIENTATION_HORIZONTAL);
           g_object_set (G_OBJECT (standard_view->name_renderer), "wrap-width", 128, "yalign", 0.5f, "alignment", PANGO_ALIGN_LEFT, NULL);
 
           /* disconnect the "zoom-level" signal handler, since we're using a fixed wrap-width here */
@@ -133,7 +133,7 @@ thunar_icon_view_set_property (GObject      *object,
         }
       else
         {
-          exo_icon_view_set_orientation (EXO_ICON_VIEW (GTK_BIN (standard_view)->child), GTK_ORIENTATION_VERTICAL);
+          exo_icon_view_set_orientation (EXO_ICON_VIEW (gtk_bin_get_child (GTK_BIN (standard_view))), GTK_ORIENTATION_VERTICAL);
           g_object_set (G_OBJECT (standard_view->name_renderer), "yalign", 0.0f, "alignment", PANGO_ALIGN_CENTER, NULL);
 
           /* connect the "zoom-level" signal handler as the wrap-width is now synced with the "zoom-level" */
diff --git a/thunar/thunar-location-button.c b/thunar/thunar-location-button.c
index 4aeae59..e143cec 100644
--- a/thunar/thunar-location-button.c
+++ b/thunar/thunar-location-button.c
@@ -485,12 +485,12 @@ thunar_location_button_file_changed (ThunarLocationButton *location_button,
   custom_icon = thunar_file_get_custom_icon (file);
   if (custom_icon != NULL)
     {
-      gtk_drag_source_set_icon_name (GTK_BIN (location_button)->child, custom_icon);
+      gtk_drag_source_set_icon_name (gtk_bin_get_child (GTK_BIN (location_button)), custom_icon);
     }
   else
     {
       icon_name = thunar_file_get_icon_name (file, location_button->file_icon_state, icon_theme);
-      gtk_drag_source_set_icon_name (GTK_BIN (location_button)->child, icon_name);
+      gtk_drag_source_set_icon_name (gtk_bin_get_child (GTK_BIN (location_button)), icon_name);
     }
 }
 
@@ -693,8 +693,8 @@ thunar_location_button_drag_data_received (GtkWidget            *button,
   if (G_LIKELY (!location_button->drop_data_ready))
     {
       /* extract the URI list from the selection data (if valid) */
-      if (selection_data->format == 8 && selection_data->length > 0)
-        location_button->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) selection_data->data);
+      if (gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0)
+        location_button->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) gtk_selection_data_get_data (selection_data));
 
       /* reset the state */
       location_button->drop_data_ready = TRUE;
@@ -711,9 +711,9 @@ thunar_location_button_drag_data_received (GtkWidget            *button,
       if (G_LIKELY ((actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)) != 0))
         {
           /* as the user what to do with the drop data */
-          action = (context->action == GDK_ACTION_ASK)
+          action = (gdk_drag_context_get_selected_action (context) == GDK_ACTION_ASK)
                  ? thunar_dnd_ask (button, location_button->file, location_button->drop_file_list, timestamp, actions)
-                 : context->action;
+                 : gdk_drag_context_get_selected_action (context);
 
           /* perform the requested action */
           if (G_LIKELY (action != 0))
diff --git a/thunar/thunar-location-buttons.c b/thunar/thunar-location-buttons.c
index 5a02127..d6411c3 100644
--- a/thunar/thunar-location-buttons.c
+++ b/thunar/thunar-location-buttons.c
@@ -572,10 +572,8 @@ thunar_location_buttons_size_request (GtkWidget      *widget,
   gtk_widget_size_request (buttons->left_slider, &child_requisition);
   gtk_widget_size_request (buttons->right_slider, &child_requisition);
 
-  requisition->width += GTK_CONTAINER (widget)->border_width * 2;
-  requisition->height += GTK_CONTAINER (widget)->border_width * 2;
-
-  widget->requisition = *requisition;
+  requisition->width += gtk_container_get_border_width (GTK_CONTAINER (widget)) * 2;
+  requisition->height += gtk_container_get_border_width (GTK_CONTAINER (widget)) * 2;
 }
 
 
@@ -600,7 +598,7 @@ thunar_location_buttons_size_allocate (GtkWidget     *widget,
   gint                   spacing;
   gint                   width;
 
-  widget->allocation = *allocation;
+  gtk_widget_set_allocation (widget, allocation);
 
   /* if no path is set, we don't have to allocate anything */
   if (G_UNLIKELY (buttons->list == NULL))
@@ -609,7 +607,7 @@ thunar_location_buttons_size_allocate (GtkWidget     *widget,
   gtk_widget_style_get (GTK_WIDGET (buttons), "spacing", &spacing, NULL);
 
   direction = gtk_widget_get_direction (widget);
-  border_width = GTK_CONTAINER (buttons)->border_width;
+  border_width = gtk_container_get_border_width (GTK_CONTAINER (buttons));
   allocation_width = allocation->width - 2 * border_width;
 
   /* check if we need to display the sliders */
@@ -620,7 +618,7 @@ thunar_location_buttons_size_allocate (GtkWidget     *widget,
 
   for (lp = buttons->list; lp != NULL; lp = lp->next)
     {
-      width += GTK_WIDGET (lp->data)->requisition.width + spacing;
+      width += thunar_gtk_widget_get_requisition_width (GTK_WIDGET (lp->data)) + spacing;
       if (lp == buttons->fake_root_button)
         break;
     }
@@ -646,28 +644,30 @@ thunar_location_buttons_size_allocate (GtkWidget     *widget,
        * We start at the first button, count forward until hit the new
        * button, then count backwards.
        */
-      width = GTK_WIDGET (first_button->data)->requisition.width;
+      width = thunar_gtk_widget_get_requisition_width (GTK_WIDGET (first_button->data));
       for (lp = first_button->prev, reached_end = FALSE; lp != NULL && !reached_end; lp = lp->prev)
         {
           child = lp->data;
-          if (width + child->requisition.width + spacing + slider_space > allocation_width)
+
+          if (width + thunar_gtk_widget_get_requisition_width (child) + spacing + slider_space > allocation_width)
             reached_end = TRUE;
           else if (lp == buttons->fake_root_button)
             break;
           else
-            width += child->requisition.width + spacing;
+            width += thunar_gtk_widget_get_requisition_width (child) + spacing;
         }
 
       while (first_button->next != NULL && !reached_end)
         {
           child = first_button->data;
-          if (width + child->requisition.width + spacing + slider_space > allocation_width)
+
+          if (width + thunar_gtk_widget_get_requisition_width (child) + spacing + slider_space > allocation_width)
             {
               reached_end = TRUE;
             }
           else
             {
-              width += child->requisition.width + spacing;
+              width += thunar_gtk_widget_get_requisition_width (child) + spacing;
               if (first_button == buttons->fake_root_button)
                 break;
               first_button = first_button->next;
@@ -700,21 +700,26 @@ thunar_location_buttons_size_allocate (GtkWidget     *widget,
 
   for (lp = first_button; lp != NULL; lp = lp->prev)
     {
+      GtkRequisition child_requisition;
+      GtkAllocation  widget_allocation;
+
       child = lp->data;
+      gtk_widget_get_requisition (child, &child_requisition);
+      gtk_widget_get_allocation (widget, &widget_allocation);
 
-      child_allocation.width = child->requisition.width;
+      child_allocation.width = child_requisition.width;
       if (G_UNLIKELY (direction == GTK_TEXT_DIR_RTL))
         child_allocation.x -= child_allocation.width;
 
       /* check to see if we don't have any more space to allocate buttons */
       if (need_sliders && direction == GTK_TEXT_DIR_RTL)
         {
-          if (child_allocation.x - spacing - buttons->slider_width < widget->allocation.x + border_width)
+          if (child_allocation.x - spacing - buttons->slider_width < widget_allocation.x + border_width)
             break;
         }
       else if (need_sliders && direction == GTK_TEXT_DIR_LTR)
         {
-          if (child_allocation.x + child_allocation.width + spacing + buttons->slider_width > widget->allocation.x + border_width + allocation_width)
+          if (child_allocation.x + child_allocation.width + spacing + buttons->slider_width > widget_allocation.x + border_width + allocation_width)
             break;
         }
 
@@ -1068,7 +1073,7 @@ thunar_location_buttons_scroll_right (GtkWidget             *button,
 
   gtk_widget_queue_resize (GTK_WIDGET (buttons));
 
-  border_width = GTK_CONTAINER (buttons)->border_width;
+  border_width = gtk_container_get_border_width (GTK_CONTAINER (buttons));
   direction = gtk_widget_get_direction (GTK_WIDGET (buttons));
 
   /* find the button at the 'right' end that we have to make visible */
@@ -1090,15 +1095,15 @@ thunar_location_buttons_scroll_right (GtkWidget             *button,
         break;
       }
 
-  space_needed = GTK_WIDGET (right_button->data)->allocation.width + spacing;
+  space_needed = thunar_gtk_widget_get_allocation_width (GTK_WIDGET (right_button->data)) + spacing;
   if (direction == GTK_TEXT_DIR_RTL)
     {
-      space_available = buttons->right_slider->allocation.x - GTK_WIDGET (buttons)->allocation.x;
+      space_available = thunar_gtk_widget_get_allocation_x (buttons->right_slider) - thunar_gtk_widget_get_allocation_x (GTK_WIDGET (buttons));
     }
   else
     {
-      space_available = (GTK_WIDGET (buttons)->allocation.x + GTK_WIDGET (buttons)->allocation.width - border_width)
-                      - (buttons->right_slider->allocation.x + buttons->right_slider->allocation.width);
+      space_available = (thunar_gtk_widget_get_allocation_x (GTK_WIDGET (buttons)) + thunar_gtk_widget_get_allocation_width (GTK_WIDGET (buttons)) - border_width)
+                      - (thunar_gtk_widget_get_allocation_x (buttons->right_slider) + thunar_gtk_widget_get_allocation_width (buttons->right_slider));
     }
 
   if (G_UNLIKELY (left_button == NULL))
@@ -1111,7 +1116,7 @@ thunar_location_buttons_scroll_right (GtkWidget             *button,
    */
   while (space_available < space_needed)
     {
-      space_available += GTK_WIDGET (left_button->data)->allocation.width + spacing;
+      space_available += thunar_gtk_widget_get_allocation_width (GTK_WIDGET (left_button->data)) + spacing;
       left_button = left_button->prev;
       buttons->first_scrolled_button = left_button;
     }
diff --git a/thunar/thunar-location-dialog.c b/thunar/thunar-location-dialog.c
index 19d09b4..1651b11 100644
--- a/thunar/thunar-location-dialog.c
+++ b/thunar/thunar-location-dialog.c
@@ -59,7 +59,7 @@ thunar_location_dialog_init (ThunarLocationDialog *location_dialog)
   GtkWidget *hbox;
   GtkWidget *label;
 
-  gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (location_dialog)->vbox), 2);
+  gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (location_dialog))), 2);
   gtk_container_set_border_width (GTK_CONTAINER (location_dialog), 5);
   gtk_window_set_default_size (GTK_WINDOW (location_dialog), 350, -1);
   gtk_window_set_title (GTK_WINDOW (location_dialog), _("Open Location"));
@@ -73,7 +73,7 @@ thunar_location_dialog_init (ThunarLocationDialog *location_dialog)
                        "border-width", 5,
                        "spacing", 12,
                        NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (location_dialog)->vbox), hbox, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (location_dialog))), hbox, FALSE, FALSE, 0);
   gtk_widget_show (hbox);
 
   label = gtk_label_new_with_mnemonic (_("_Location:"));
diff --git a/thunar/thunar-path-entry.c b/thunar/thunar-path-entry.c
index 247345d..54f8317 100644
--- a/thunar/thunar-path-entry.c
+++ b/thunar/thunar-path-entry.c
@@ -362,11 +362,11 @@ thunar_path_entry_focus (GtkWidget       *widget,
   if ((direction == GTK_DIR_TAB_FORWARD) && (gtk_widget_has_focus (widget)) && !control_pressed)
     {
       /* if we don't have a completion and the cursor is at the end of the line, we just insert the common prefix */
-      if (!path_entry->has_completion && gtk_editable_get_position (GTK_EDITABLE (path_entry)) == GTK_ENTRY (path_entry)->text_length)
+      if (!path_entry->has_completion && gtk_editable_get_position (GTK_EDITABLE (path_entry)) == gtk_entry_get_text_length (GTK_ENTRY (path_entry)))
         thunar_path_entry_common_prefix_append (path_entry, FALSE);
 
       /* place the cursor at the end */
-      gtk_editable_set_position (GTK_EDITABLE (path_entry), GTK_ENTRY (path_entry)->text_length);
+      gtk_editable_set_position (GTK_EDITABLE (path_entry), gtk_entry_get_text_length (GTK_ENTRY (path_entry)));
 
       return TRUE;
     }
@@ -469,11 +469,11 @@ thunar_path_entry_key_press_event (GtkWidget   *widget,
   if (G_UNLIKELY (event->keyval == GDK_Tab && (event->state & GDK_CONTROL_MASK) == 0))
     {
       /* if we don't have a completion and the cursor is at the end of the line, we just insert the common prefix */
-      if (!path_entry->has_completion && gtk_editable_get_position (GTK_EDITABLE (path_entry)) == GTK_ENTRY (path_entry)->text_length)
+      if (!path_entry->has_completion && gtk_editable_get_position (GTK_EDITABLE (path_entry)) == gtk_entry_get_text_length (GTK_ENTRY (path_entry)))
         thunar_path_entry_common_prefix_append (path_entry, FALSE);
 
       /* place the cursor at the end */
-      gtk_editable_set_position (GTK_EDITABLE (path_entry), GTK_ENTRY (path_entry)->text_length);
+      gtk_editable_set_position (GTK_EDITABLE (path_entry), gtk_entry_get_text_length (GTK_ENTRY (path_entry)));
 
       /* emit "changed", so the completion window is popped up */
       g_signal_emit_by_name (G_OBJECT (path_entry), "changed", 0);
diff --git a/thunar/thunar-permissions-chooser.c b/thunar/thunar-permissions-chooser.c
index d795626..62fd3d1 100644
--- a/thunar/thunar-permissions-chooser.c
+++ b/thunar/thunar-permissions-chooser.c
@@ -525,7 +525,7 @@ thunar_permissions_chooser_ask_recursive (ThunarPermissionsChooser *chooser)
 
       hbox = gtk_hbox_new (FALSE, 6);
       gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
-      gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+      gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
       gtk_widget_show (hbox);
 
       image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
diff --git a/thunar/thunar-preferences-dialog.c b/thunar/thunar-preferences-dialog.c
index f2d6cc8..3017104 100644
--- a/thunar/thunar-preferences-dialog.c
+++ b/thunar/thunar-preferences-dialog.c
@@ -233,7 +233,7 @@ thunar_preferences_dialog_init (ThunarPreferencesDialog *dialog)
 
   notebook = gtk_notebook_new ();
   gtk_container_set_border_width (GTK_CONTAINER (notebook), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), notebook, TRUE, TRUE, 0);
   gtk_widget_show (notebook);
 
 
diff --git a/thunar/thunar-properties-dialog.c b/thunar/thunar-properties-dialog.c
index 67135d2..e6a5985 100644
--- a/thunar/thunar-properties-dialog.c
+++ b/thunar/thunar-properties-dialog.c
@@ -257,7 +257,7 @@ thunar_properties_dialog_init (ThunarPropertiesDialog *dialog)
 
   dialog->notebook = gtk_notebook_new ();
   gtk_container_set_border_width (GTK_CONTAINER (dialog->notebook), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), dialog->notebook, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), dialog->notebook, TRUE, TRUE, 0);
   gtk_widget_show (dialog->notebook);
 
   table = gtk_table_new (16, 2, FALSE);
diff --git a/thunar/thunar-renamer-dialog.c b/thunar/thunar-renamer-dialog.c
index dd8965a..a4d4bd0 100644
--- a/thunar/thunar-renamer-dialog.c
+++ b/thunar/thunar-renamer-dialog.c
@@ -385,12 +385,12 @@ thunar_renamer_dialog_init (ThunarRenamerDialog *renamer_dialog)
   /* add the toolbar to the dialog */
   toolbar = gtk_ui_manager_get_widget (renamer_dialog->ui_manager, "/toolbar");
   exo_binding_new (G_OBJECT (renamer_dialog), "standalone", G_OBJECT (toolbar), "visible");
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (renamer_dialog)->vbox), toolbar, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (renamer_dialog))), toolbar, FALSE, FALSE, 0);
 
   /* create the main vbox */
   mbox = gtk_vbox_new (FALSE, 12);
   gtk_container_set_border_width (GTK_CONTAINER (mbox), 6);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (renamer_dialog)->vbox), mbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (renamer_dialog))), mbox, TRUE, TRUE, 0);
   gtk_widget_show (mbox);
 
   /* create the scrolled window for the tree view */
@@ -1346,7 +1346,7 @@ thunar_renamer_dialog_drag_data_received (GtkWidget           *tree_view,
   _thunar_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
 
   /* we only accept text/uri-list drops with format 8 and atleast one byte of data */
-  if (info == TARGET_TEXT_URI_LIST && selection_data->format == 8 && selection_data->length > 0)
+  if (info == TARGET_TEXT_URI_LIST && gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0)
     {
       /* determine the renamer model */
       model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_view));
@@ -1368,7 +1368,7 @@ thunar_renamer_dialog_drag_data_received (GtkWidget           *tree_view,
         }
 
       /* determine the file list from the selection_data */
-      file_list = thunar_g_file_list_new_from_string ((const gchar *) selection_data->data);
+      file_list = thunar_g_file_list_new_from_string ((const gchar *) gtk_selection_data_get_data (selection_data));
 
       /* add all paths to the model */
       for (lp = file_list; lp != NULL; lp = lp->next)
@@ -1423,7 +1423,7 @@ thunar_renamer_dialog_drag_leave (GtkWidget           *tree_view,
       /* we use the tree view parent (the scrolled window),
        * as the drag_highlight doesn't work for tree views.
        */
-      gtk_drag_unhighlight (tree_view->parent);
+      gtk_drag_unhighlight (gtk_widget_get_parent (tree_view));
       renamer_dialog->drag_highlighted = FALSE;
     }
 }
@@ -1467,7 +1467,7 @@ thunar_renamer_dialog_drag_motion (GtkWidget           *tree_view,
           /* we use the tree view parent (the scrolled window),
            * as the drag_highlight doesn't work for tree views.
            */
-          gtk_drag_unhighlight (tree_view->parent);
+          gtk_drag_unhighlight (gtk_widget_get_parent (tree_view));
           renamer_dialog->drag_highlighted = FALSE;
         }
 
@@ -1507,7 +1507,7 @@ thunar_renamer_dialog_drag_motion (GtkWidget           *tree_view,
   else if (!renamer_dialog->drag_highlighted)
     {
       /* highlight the parent */
-      gtk_drag_highlight (tree_view->parent);
+      gtk_drag_highlight (gtk_widget_get_parent (tree_view));
       renamer_dialog->drag_highlighted = TRUE;
     }
 
diff --git a/thunar/thunar-shortcuts-icon-renderer.c b/thunar/thunar-shortcuts-icon-renderer.c
index 89742ff..b52da5f 100644
--- a/thunar/thunar-shortcuts-icon-renderer.c
+++ b/thunar/thunar-shortcuts-icon-renderer.c
@@ -126,8 +126,7 @@ static void
 thunar_shortcuts_icon_renderer_init (ThunarShortcutsIconRenderer *shortcuts_icon_renderer)
 {
   /* no padding please */
-  GTK_CELL_RENDERER (shortcuts_icon_renderer)->xpad = 0;
-  GTK_CELL_RENDERER (shortcuts_icon_renderer)->ypad = 0;
+  gtk_cell_renderer_set_padding (GTK_CELL_RENDERER (shortcuts_icon_renderer), 0, 0);
 }
 
 
diff --git a/thunar/thunar-shortcuts-view.c b/thunar/thunar-shortcuts-view.c
index 935066b..b4c857d 100644
--- a/thunar/thunar-shortcuts-view.c
+++ b/thunar/thunar-shortcuts-view.c
@@ -591,8 +591,8 @@ thunar_shortcuts_view_drag_data_received (GtkWidget        *widget,
   if (G_LIKELY (!view->drop_data_ready))
     {
       /* extract the URI list from the selection data (if valid) */
-      if (info == TEXT_URI_LIST && selection_data->format == 8 && selection_data->length > 0)
-        view->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) selection_data->data);
+      if (info == TEXT_URI_LIST && gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0)
+        view->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) gtk_selection_data_get_data (selection_data));
 
       /* reset the state */
       view->drop_data_ready = TRUE;
@@ -793,11 +793,11 @@ thunar_shortcuts_view_drag_motion (GtkWidget      *widget,
   else if (target == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW"))
     {
       /* check the action that should be performed */
-      if (context->suggested_action == GDK_ACTION_LINK || (context->actions & GDK_ACTION_LINK) != 0)
+      if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_LINK || (gdk_drag_context_get_actions (context) & GDK_ACTION_LINK) != 0)
         action = GDK_ACTION_LINK;
-      else if (context->suggested_action == GDK_ACTION_COPY || (context->actions & GDK_ACTION_COPY) != 0)
+      else if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_COPY || (gdk_drag_context_get_actions (context) & GDK_ACTION_COPY) != 0)
         action = GDK_ACTION_COPY;
-      else if (context->suggested_action == GDK_ACTION_MOVE || (context->actions & GDK_ACTION_MOVE) != 0)
+      else if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_MOVE || (gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0)
         action = GDK_ACTION_MOVE;
       else
         return FALSE;
@@ -1457,11 +1457,11 @@ thunar_shortcuts_view_compute_drop_actions (ThunarShortcutsView     *view,
   if (G_UNLIKELY (actions == 0))
     {
       /* check the action that should be performed */
-      if (context->suggested_action == GDK_ACTION_LINK || (context->actions & GDK_ACTION_LINK) != 0)
+      if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_LINK || (gdk_drag_context_get_actions (context) & GDK_ACTION_LINK) != 0)
         actions = GDK_ACTION_LINK;
-      else if (context->suggested_action == GDK_ACTION_COPY || (context->actions & GDK_ACTION_COPY) != 0)
+      else if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_COPY || (gdk_drag_context_get_actions (context) & GDK_ACTION_COPY) != 0)
         actions = GDK_ACTION_COPY;
-      else if (context->suggested_action == GDK_ACTION_MOVE || (context->actions & GDK_ACTION_MOVE) != 0)
+      else if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_MOVE || (gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0)
         actions = GDK_ACTION_MOVE;
       else
         return 0;
diff --git a/thunar/thunar-standard-view.c b/thunar/thunar-standard-view.c
index 6b078e3..c2b6b60 100644
--- a/thunar/thunar-standard-view.c
+++ b/thunar/thunar-standard-view.c
@@ -762,7 +762,7 @@ thunar_standard_view_constructor (GType                  type,
   g_object_bind_property (object, "zoom-level", G_OBJECT (standard_view->preferences), THUNAR_STANDARD_VIEW_GET_CLASS (standard_view)->zoom_level_property_name, G_BINDING_DEFAULT);
 
   /* determine the real view widget (treeview or iconview) */
-  view = GTK_BIN (object)->child;
+  view = gtk_bin_get_child (GTK_BIN (object));
 
   /* apply our list model to the real view (the child of the scrolled window),
    * we therefore assume that all real views have the "model" property.
@@ -1088,7 +1088,7 @@ static void
 thunar_standard_view_grab_focus (GtkWidget *widget)
 {
   /* forward the focus grab to the real view */
-  gtk_widget_grab_focus (GTK_BIN (widget)->child);
+  gtk_widget_grab_focus (gtk_bin_get_child (GTK_BIN (widget)));
 }
 
 
@@ -1099,7 +1099,7 @@ thunar_standard_view_expose_event (GtkWidget      *widget,
 {
   gboolean result = FALSE;
   cairo_t *cr;
-  gint     x, y, width, height;
+  GtkAllocation a;
 
   /* let the scrolled window do it's work */
   result = (*GTK_WIDGET_CLASS (thunar_standard_view_parent_class)->expose_event) (widget, event);
@@ -1107,21 +1107,18 @@ thunar_standard_view_expose_event (GtkWidget      *widget,
   /* render the folder drop shadow */
   if (G_UNLIKELY (THUNAR_STANDARD_VIEW (widget)->priv->drop_highlight))
     {
-      x = widget->allocation.x;
-      y = widget->allocation.y;
-      width = widget->allocation.width;
-      height = widget->allocation.height;
+      gtk_widget_get_allocation (widget, &a);
 
-      gtk_paint_shadow (widget->style, widget->window,
+      gtk_paint_shadow (gtk_widget_get_style (widget), gtk_widget_get_window (widget),
                         GTK_STATE_NORMAL, GTK_SHADOW_OUT,
                         NULL, widget, "dnd",
-                        x, y, width, height);
+                        a.x, a.y, a.width, a.height);
 
       /* the cairo version looks better here, so we use it if possible */
-      cr = gdk_cairo_create (widget->window);
+      cr = gdk_cairo_create (gtk_widget_get_window (widget));
       cairo_set_source_rgb (cr, 0.0, 0.0, 0.0);
       cairo_set_line_width (cr, 1.0);
-      cairo_rectangle (cr, x + 0.5, y + 0.5, width - 1, height - 1);
+      cairo_rectangle (cr, a.x + 0.5, a.y + 0.5, a.width - 1, a.height - 1);
       cairo_stroke (cr);
       cairo_destroy (cr);
     }
@@ -1433,13 +1430,13 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
        * to update the selection everytime (i.e. closing a window with a lot of
        * selected files), so we temporarily disconnect the model from the view.
        */
-      g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", NULL, NULL);
+      g_object_set (G_OBJECT (gtk_bin_get_child (GTK_BIN (standard_view))), "model", NULL, NULL);
 
       /* reset the folder for the model */
       thunar_list_model_set_folder (standard_view->model, NULL);
 
       /* reconnect the model to the view */
-      g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", standard_view->model, NULL);
+      g_object_set (G_OBJECT (gtk_bin_get_child (GTK_BIN (standard_view))), "model", standard_view->model, NULL);
 
       /* and we're done */
       return;
@@ -1460,7 +1457,7 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
   /* We drop the model from the view as a simple optimization to speed up
    * the process of disconnecting the model data from the view.
    */
-  g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", NULL, NULL);
+  g_object_set (G_OBJECT (gtk_bin_get_child (GTK_BIN (standard_view))), "model", NULL, NULL);
 
   /* open the new directory as folder */
   folder = thunar_folder_get_for_file (current_directory);
@@ -1476,7 +1473,7 @@ thunar_standard_view_set_current_directory (ThunarNavigator *navigator,
   g_object_unref (G_OBJECT (folder));
 
   /* reconnect our model to the view */
-  g_object_set (G_OBJECT (GTK_BIN (standard_view)->child), "model", standard_view->model, NULL);
+  g_object_set (G_OBJECT (gtk_bin_get_child (GTK_BIN (standard_view))), "model", standard_view->model, NULL);
 
   /* check if the new directory is in the trash */
   trashed = thunar_file_is_trashed (current_directory);
@@ -2625,7 +2622,7 @@ thunar_standard_view_action_select_by_pattern (GtkAction          *action,
   gtk_window_set_default_size (GTK_WINDOW (dialog), 290, -1);
 
   hbox = g_object_new (GTK_TYPE_HBOX, "border-width", 6, "spacing", 10, NULL);
-  gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
   gtk_widget_show (hbox);
 
   label = gtk_label_new_with_mnemonic (_("_Pattern:"));
@@ -2974,7 +2971,7 @@ thunar_standard_view_new_files (ThunarStandardView *standard_view,
           g_list_free_full (file_list, g_object_unref);
 
           /* grab the focus to the view widget */
-          gtk_widget_grab_focus (GTK_BIN (standard_view)->child);
+          gtk_widget_grab_focus (gtk_bin_get_child (GTK_BIN (standard_view)));
         }
       else if (belongs_here)
         {
@@ -3032,7 +3029,10 @@ thunar_standard_view_motion_notify_event (GtkWidget          *view,
       /* allocate the drag context (preferred action is to ask the user) */
       target_list = gtk_target_list_new (drag_targets, G_N_ELEMENTS (drag_targets));
       context = gtk_drag_begin (view, target_list, GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_ASK, 3, (GdkEvent *) event);
-      context->suggested_action = GDK_ACTION_ASK;
+
+      /* FIXME
+      gdk_drag_context_set_suggested_action (context, GDK_ACTION_ASK);
+      */
       gtk_target_list_unref (target_list);
 
       return TRUE;
@@ -3165,7 +3165,8 @@ thunar_standard_view_drag_drop (GtkWidget          *view,
       if (G_LIKELY (file != NULL))
         {
           /* determine the file name from the DnD source window */
-          if (gdk_property_get (context->source_window, gdk_atom_intern_static_string ("XdndDirectSave0"),
+          if (gdk_property_get (gdk_drag_context_get_source_window (context),
+                                gdk_atom_intern_static_string ("XdndDirectSave0"),
                                 gdk_atom_intern_static_string ("text/plain"), 0, 1024, FALSE, NULL, NULL,
                                 &prop_len, &prop_text) && prop_text != NULL)
             {
@@ -3184,7 +3185,7 @@ thunar_standard_view_drag_drop (GtkWidget          *view,
                   uri = g_file_get_uri (path);
 
                   /* setup the property */
-                  gdk_property_change (GDK_DRAWABLE (context->source_window),
+                  gdk_property_change (gdk_drag_context_get_source_window (context),
                                        gdk_atom_intern_static_string ("XdndDirectSave0"),
                                        gdk_atom_intern_static_string ("text/plain"), 8,
                                        GDK_PROP_MODE_REPLACE, (const guchar *) uri,
@@ -3282,8 +3283,8 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
   if (G_LIKELY (!standard_view->priv->drop_data_ready))
     {
       /* extract the URI list from the selection data (if valid) */
-      if (info == TARGET_TEXT_URI_LIST && selection_data->format == 8 && selection_data->length > 0)
-        standard_view->priv->drop_file_list = thunar_g_file_list_new_from_string ((gchar *) selection_data->data);
+      if (info == TARGET_TEXT_URI_LIST && gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0)
+        standard_view->priv->drop_file_list = thunar_g_file_list_new_from_string ((gchar *) gtk_selection_data_get_data (selection_data));
 
       /* reset the state */
       standard_view->priv->drop_data_ready = TRUE;
@@ -3299,15 +3300,15 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
       if (G_UNLIKELY (info == TARGET_XDND_DIRECT_SAVE0))
         {
           /* we don't handle XdndDirectSave stage (3), result "F" yet */
-          if (G_UNLIKELY (selection_data->format == 8 && selection_data->length == 1 && selection_data->data[0] == 'F'))
+          if (G_UNLIKELY (gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) == 1 && gtk_selection_data_get_data (selection_data)[0] == 'F'))
             {
               /* indicate that we don't provide "F" fallback */
-              gdk_property_change (GDK_DRAWABLE (context->source_window),
+              gdk_property_change (gdk_drag_context_get_source_window (context),
                                    gdk_atom_intern_static_string ("XdndDirectSave0"),
                                    gdk_atom_intern_static_string ("text/plain"), 8,
                                    GDK_PROP_MODE_REPLACE, (const guchar *) "", 0);
             }
-          else if (G_LIKELY (selection_data->format == 8 && selection_data->length == 1 && selection_data->data[0] == 'S'))
+          else if (G_LIKELY (gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) == 1 && gtk_selection_data_get_data (selection_data)[0] == 'S'))
             {
               /* XDS was successfull, so determine the file for the drop position */
               file = thunar_standard_view_get_drop_file (standard_view, x, y, NULL);
@@ -3333,10 +3334,10 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
       else if (G_UNLIKELY (info == TARGET_NETSCAPE_URL))
         {
           /* check if the format is valid and we have any data */
-          if (G_LIKELY (selection_data->format == 8 && selection_data->length > 0))
+          if (G_LIKELY (gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0))
             {
               /* _NETSCAPE_URL looks like this: "$URL\n$TITLE" */
-              bits = g_strsplit ((const gchar *) selection_data->data, "\n", -1);
+              bits = g_strsplit ((const gchar *) gtk_selection_data_get_data (selection_data), "\n", -1);
               if (G_LIKELY (g_strv_length (bits) == 2))
                 {
                   /* determine the file for the drop position */
@@ -3362,7 +3363,7 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
                           /* on X11, we can supply the parent window id here */
                           argv[n++] = "--xid";
                           argv[n++] = g_newa (gchar, 32);
-                          g_snprintf (argv[n - 1], 32, "%ld", (glong) GDK_WINDOW_XID (toplevel->window));
+                          g_snprintf (argv[n - 1], 32, "%ld", (glong) GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (toplevel))));
 #endif
                         }
 
@@ -3404,9 +3405,9 @@ thunar_standard_view_drag_data_received (GtkWidget          *view,
           if (G_LIKELY ((actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)) != 0))
             {
               /* ask the user what to do with the drop data */
-              action = (context->action == GDK_ACTION_ASK)
+              action = (gdk_drag_context_get_selected_action (context) == GDK_ACTION_ASK)
                      ? thunar_dnd_ask (GTK_WIDGET (standard_view), file, standard_view->priv->drop_file_list, timestamp, actions)
-                     : context->action;
+                     : gdk_drag_context_get_selected_action (context);
 
               /* perform the requested action */
               if (G_LIKELY (action != 0))
@@ -3506,7 +3507,7 @@ thunar_standard_view_drag_motion (GtkWidget          *view,
                         && thunar_file_is_directory (file)
                         && thunar_file_is_writable (file)))
             {
-              action = context->suggested_action;
+              action = gdk_drag_context_get_suggested_action (context);
             }
 
           /* reset path if we cannot drop */
@@ -3895,8 +3896,8 @@ thunar_standard_view_drag_scroll_timer (gpointer user_data)
   if (G_LIKELY (gtk_widget_get_realized (GTK_WIDGET (standard_view))))
     {
       /* determine pointer location and window geometry */
-      gdk_window_get_pointer (GTK_BIN (standard_view)->child->window, &x, &y, NULL);
-      gdk_window_get_geometry (GTK_BIN (standard_view)->child->window, NULL, NULL, &w, &h, NULL);
+      gdk_window_get_pointer (gtk_widget_get_window (gtk_bin_get_child (GTK_BIN (standard_view))), &x, &y, NULL);
+      gdk_window_get_geometry (gtk_widget_get_window (gtk_bin_get_child (GTK_BIN (standard_view))), NULL, NULL, &w, &h, NULL);
 
       /* check if we are near the edge (vertical) */
       offset = y - (2 * 20);
@@ -3910,7 +3911,7 @@ thunar_standard_view_drag_scroll_timer (gpointer user_data)
           adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (standard_view));
 
           /* determine the new value */
-          value = CLAMP (adjustment->value + 2 * offset, adjustment->lower, adjustment->upper - adjustment->page_size);
+          value = CLAMP (gtk_adjustment_get_value (adjustment) + 2 * offset, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment));
 
           /* apply the new value */
           gtk_adjustment_set_value (adjustment, value);
@@ -3928,7 +3929,7 @@ thunar_standard_view_drag_scroll_timer (gpointer user_data)
           adjustment = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (standard_view));
 
           /* determine the new value */
-          value = CLAMP (adjustment->value + 2 * offset, adjustment->lower, adjustment->upper - adjustment->page_size);
+          value = CLAMP (gtk_adjustment_get_value (adjustment) + 2 * offset, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment));
 
           /* apply the new value */
           gtk_adjustment_set_value (adjustment, value);
@@ -3969,8 +3970,8 @@ static void
 thunar_standard_view_drag_timer_destroy (gpointer user_data)
 {
   /* unregister the motion notify and button release event handlers (thread-safe) */
-  g_signal_handlers_disconnect_by_func (GTK_BIN (user_data)->child, thunar_standard_view_button_release_event, user_data);
-  g_signal_handlers_disconnect_by_func (GTK_BIN (user_data)->child, thunar_standard_view_motion_notify_event, user_data);
+  g_signal_handlers_disconnect_by_func (gtk_bin_get_child (GTK_BIN (user_data)), thunar_standard_view_button_release_event, user_data);
+  g_signal_handlers_disconnect_by_func (gtk_bin_get_child (GTK_BIN (user_data)), thunar_standard_view_motion_notify_event, user_data);
 
   /* reset the drag timer source id */
   THUNAR_STANDARD_VIEW (user_data)->priv->drag_timer_id = 0;
@@ -4310,7 +4311,7 @@ thunar_standard_view_queue_popup (ThunarStandardView *standard_view,
       standard_view->priv->drag_y = event->y;
 
       /* figure out the real view */
-      view = GTK_BIN (standard_view)->child;
+      view = gtk_bin_get_child (GTK_BIN (standard_view));
 
       /* we use the menu popup delay here, note that we only use this to
        * allow higher values! see bug #3549 */
diff --git a/thunar/thunar-templates-action.c b/thunar/thunar-templates-action.c
index c1dac20..a2e3992 100644
--- a/thunar/thunar-templates-action.c
+++ b/thunar/thunar-templates-action.c
@@ -321,6 +321,7 @@ thunar_templates_action_files_ready (ThunarJob             *job,
   GList             *items = NULL;
   GList             *parent_menus = NULL;
   GList             *pp;
+  GList             *menu_children = NULL;
   gchar             *label;
   gchar             *dot;
 
@@ -403,8 +404,9 @@ thunar_templates_action_files_ready (ThunarJob             *job,
     {
       /* determine the submenu for this directory item */
       submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (lp->data));
+      menu_children = gtk_container_get_children (GTK_CONTAINER (submenu));
 
-      if (GTK_MENU_SHELL (submenu)->children == NULL)
+      if (menu_children == NULL)
         {
           /* the directory submenu is empty, destroy it */
           gtk_widget_destroy (lp->data);
@@ -421,6 +423,7 @@ thunar_templates_action_files_ready (ThunarJob             *job,
   g_list_free (dirs);
   g_list_free (items);
   g_list_free (parent_menus);
+  g_list_free (menu_children);
 
   /* release the icon factory */
   g_object_unref (icon_factory);
@@ -438,6 +441,7 @@ thunar_templates_action_load_error (ThunarJob             *job,
 {
   GtkWidget *item;
   GtkWidget *menu;
+  GList     *menu_children = NULL;
 
   _thunar_return_if_fail (THUNAR_IS_JOB (job));
   _thunar_return_if_fail (error != NULL);
@@ -447,7 +451,7 @@ thunar_templates_action_load_error (ThunarJob             *job,
   menu = g_object_get_data (G_OBJECT (job), "menu");
 
   /* check if any items were added to the menu */
-  if (G_LIKELY (menu != NULL && GTK_MENU_SHELL (menu)->children == NULL))
+  if (G_LIKELY (menu != NULL && (menu_children = gtk_container_get_children( GTK_CONTAINER (menu))) == NULL))
     {
       /* tell the user that no templates were found */
       item = gtk_menu_item_new_with_label (error->message);
@@ -455,6 +459,8 @@ thunar_templates_action_load_error (ThunarJob             *job,
       gtk_widget_set_sensitive (item, FALSE);
       gtk_widget_show (item);
     }
+
+  g_list_free (menu_children);
 }
 
 
diff --git a/thunar/thunar-text-renderer.c b/thunar/thunar-text-renderer.c
index b792872..42a0140 100644
--- a/thunar/thunar-text-renderer.c
+++ b/thunar/thunar-text-renderer.c
@@ -410,6 +410,10 @@ thunar_text_renderer_get_size (GtkCellRenderer *renderer,
   gint                text_length;
   gint                text_width;
   gint                text_height;
+  gint                renderer_xpad;
+  gint                renderer_ypad;
+  gfloat              renderer_xalign;
+  gfloat              renderer_yalign;
 
   /* setup the new widget */
   thunar_text_renderer_set_widget (text_renderer, widget);
@@ -446,24 +450,27 @@ thunar_text_renderer_get_size (GtkCellRenderer *renderer,
     }
 
   /* update width/height */
+  gtk_cell_renderer_get_padding (renderer, &renderer_xpad, &renderer_ypad);
+  gtk_cell_renderer_get_alignment (renderer, &renderer_xalign, &renderer_yalign);
+
   if (G_LIKELY (width != NULL))
-    *width = text_width + 2 * renderer->xpad;
+    *width = text_width + 2 * renderer_xpad;
   if (G_LIKELY (height != NULL))
-    *height = text_height + 2 * renderer->ypad;
+    *height = text_height + 2 * renderer_ypad;
 
   /* update the x/y offsets */
   if (G_LIKELY (cell_area != NULL))
     {
       if (G_LIKELY (x_offset != NULL))
         {
-          *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? (1.0 - renderer->xalign) : renderer->xalign)
-                    * (cell_area->width - text_width - (2 * renderer->xpad));
+          *x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? (1.0 - renderer_xalign) : renderer_xalign)
+                    * (cell_area->width - text_width - (2 * renderer_xpad));
           *x_offset = MAX (*x_offset, 0);
         }
 
       if (G_LIKELY (y_offset != NULL))
         {
-          *y_offset = renderer->yalign * (cell_area->height - text_height - (2 * renderer->ypad));
+          *y_offset = renderer_yalign * (cell_area->height - text_height - (2 * renderer_ypad));
           *y_offset = MAX (*y_offset, 0);
         }
     }
@@ -487,6 +494,13 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
   gint                x_offset;
   gint                y_offset;
   PangoRectangle      rect;
+  gint                renderer_xpad;
+  gint                renderer_ypad;
+  gfloat              renderer_xalign;
+  gfloat              renderer_yalign;
+
+  gtk_cell_renderer_get_padding (renderer, &renderer_xpad, &renderer_ypad);
+  gtk_cell_renderer_get_alignment (renderer, &renderer_xalign, &renderer_yalign);
 
   /* setup the new widget */
   thunar_text_renderer_set_widget (text_renderer, widget);
@@ -543,12 +557,12 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
     }
 
   /* calculate the real x-offset */
-  x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? (1.0 - renderer->xalign) : renderer->xalign)
-           * (cell_area->width - rect.width - (2 * renderer->xpad));
+  x_offset = ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) ? (1.0 - renderer_xalign) : renderer_xalign)
+           * (cell_area->width - rect.width - (2 * renderer_xpad));
   x_offset = MAX (x_offset, 0);
 
   /* calculate the real y-offset */
-  y_offset = renderer->yalign * (cell_area->height - rect.height - (2 * renderer->ypad));
+  y_offset = renderer_yalign * (cell_area->height - rect.height - (2 * renderer_ypad));
   y_offset = MAX (y_offset, 0);
 
   /* render the state indicator */
@@ -573,7 +587,7 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
       cairo_curve_to (cr, x0 + 5, y1, x0, y1, x0, y1 - 5);
       cairo_line_to (cr, x0, y0 + 5);
       cairo_curve_to (cr, x0, y0 + 5, x0, y0, x0 + 5, y0);
-      gdk_cairo_set_source_color (cr, &widget->style->base[state]);
+      gdk_cairo_set_source_color (cr, &gtk_widget_get_style (widget)->base[state]);
       cairo_fill (cr);
       cairo_destroy (cr);
     }
@@ -581,7 +595,7 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
   /* draw the focus indicator */
   if (text_renderer->follow_state && (flags & GTK_CELL_RENDERER_FOCUSED) != 0)
     {
-      gtk_paint_focus (widget->style, window, gtk_widget_get_state (widget), NULL, widget, "icon_view",
+      gtk_paint_focus (gtk_widget_get_style (widget), window, gtk_widget_get_state (widget), NULL, widget, "icon_view",
                        cell_area->x + x_offset, cell_area->y + y_offset, rect.width, rect.height);
     }
 
@@ -595,10 +609,10 @@ thunar_text_renderer_render (GtkCellRenderer     *renderer,
     }
 
   /* draw the text */
-  gtk_paint_layout (widget->style, window, state, TRUE,
+  gtk_paint_layout (gtk_widget_get_style (widget), window, state, TRUE,
                     expose_area, widget, "cellrenderertext",
-                    cell_area->x + x_offset + renderer->xpad - rect.x,
-                    cell_area->y + y_offset + renderer->ypad - rect.y,
+                    cell_area->x + x_offset + renderer_xpad - rect.x,
+                    cell_area->y + y_offset + renderer_ypad - rect.y,
                     text_renderer->layout);
 }
 
@@ -614,9 +628,16 @@ thunar_text_renderer_start_editing (GtkCellRenderer     *renderer,
                                     GtkCellRendererState flags)
 {
   ThunarTextRenderer *text_renderer = THUNAR_TEXT_RENDERER (renderer);
+  GtkCellRendererMode renderer_mode;
+  gfloat              renderer_xalign;
+
+  g_object_get (G_OBJECT (renderer),
+                "mode", &renderer_mode,
+                "xalign", &renderer_xalign,
+                NULL);
 
   /* verify that we are editable */
-  if (renderer->mode != GTK_CELL_RENDERER_MODE_EDITABLE)
+  if (renderer_mode != GTK_CELL_RENDERER_MODE_EDITABLE)
     return NULL;
 
   /* allocate a new text entry widget to be used for editing */
@@ -624,7 +645,7 @@ thunar_text_renderer_start_editing (GtkCellRenderer     *renderer,
                                        "has-frame", FALSE,
                                        "text", text_renderer->text,
                                        "visible", TRUE,
-                                       "xalign", renderer->xalign,
+                                       "xalign", renderer_xalign,
                                        NULL);
 
   /* select the whole text */
@@ -696,7 +717,7 @@ thunar_text_renderer_set_widget (ThunarTextRenderer *text_renderer,
       pango_layout_set_single_paragraph_mode (text_renderer->layout, TRUE);
 
       /* calculate the average character dimensions */
-      metrics = pango_context_get_metrics (context, widget->style->font_desc, pango_context_get_language (context));
+      metrics = pango_context_get_metrics (context, gtk_widget_get_style (widget)->font_desc, pango_context_get_language (context));
       text_renderer->char_width = PANGO_PIXELS (pango_font_metrics_get_approximate_char_width (metrics));
       text_renderer->char_height = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + pango_font_metrics_get_descent (metrics));
       pango_font_metrics_unref (metrics);
@@ -725,6 +746,9 @@ thunar_text_renderer_editing_done (GtkCellEditable    *editable,
 {
   const gchar *path;
   const gchar *text;
+  gboolean     editing_canceled;
+
+  g_object_get (G_OBJECT (editable), "editing-canceled", &editing_canceled, NULL);
 
   /* disconnect our signals from the cell editable */
   g_signal_handlers_disconnect_by_func (G_OBJECT (editable), thunar_text_renderer_editing_done, text_renderer);
@@ -732,10 +756,10 @@ thunar_text_renderer_editing_done (GtkCellEditable    *editable,
   g_signal_handlers_disconnect_by_func (G_OBJECT (editable), thunar_text_renderer_populate_popup, text_renderer);
 
   /* let the GtkCellRenderer class do it's part of the job */
-  gtk_cell_renderer_stop_editing (GTK_CELL_RENDERER (text_renderer), GTK_ENTRY (editable)->editing_canceled);
+  gtk_cell_renderer_stop_editing (GTK_CELL_RENDERER (text_renderer), editing_canceled);
 
   /* inform whoever is interested that we have new text (if not cancelled) */
-  if (G_LIKELY (!GTK_ENTRY (editable)->editing_canceled))
+  if (G_LIKELY (!editing_canceled))
     {
       text = gtk_entry_get_text (GTK_ENTRY (editable));
       path = g_object_get_data (G_OBJECT (editable), "thunar-text-renderer-path");
diff --git a/thunar/thunar-tree-view.c b/thunar/thunar-tree-view.c
index 2c1e068..a7dda59 100644
--- a/thunar/thunar-tree-view.c
+++ b/thunar/thunar-tree-view.c
@@ -953,8 +953,8 @@ thunar_tree_view_drag_data_received (GtkWidget        *widget,
   if (G_LIKELY (!view->drop_data_ready))
     {
       /* extract the URI list from the selection data (if valid) */
-      if (info == TARGET_TEXT_URI_LIST && selection_data->format == 8 && selection_data->length > 0)
-        view->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) selection_data->data);
+      if (info == TARGET_TEXT_URI_LIST && gtk_selection_data_get_format (selection_data) == 8 && gtk_selection_data_get_length (selection_data) > 0)
+        view->drop_file_list = thunar_g_file_list_new_from_string ((const gchar *) gtk_selection_data_get_data (selection_data));
 
       /* reset the state */
       view->drop_data_ready = TRUE;
@@ -971,9 +971,9 @@ thunar_tree_view_drag_data_received (GtkWidget        *widget,
       if (G_LIKELY ((actions & (GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)) != 0))
         {
           /* ask the user what to do with the drop data */
-          action = (context->action == GDK_ACTION_ASK)
+          action = (gdk_drag_context_get_selected_action (context) == GDK_ACTION_ASK)
                  ? thunar_dnd_ask (GTK_WIDGET (view), file, view->drop_file_list, timestamp, actions)
-                 : context->action;
+                 : gdk_drag_context_get_selected_action (context);
 
           /* perform the requested action */
           if (G_LIKELY (action != 0))
@@ -2652,8 +2652,8 @@ thunar_tree_view_drag_scroll_timer (gpointer user_data)
   if (gtk_widget_get_realized (GTK_WIDGET (view)))
     {
       /* determine pointer location and window geometry */
-      gdk_window_get_pointer (GTK_WIDGET (view)->window, NULL, &y, NULL);
-      gdk_window_get_geometry (GTK_WIDGET (view)->window, NULL, NULL, NULL, &h, NULL);
+      gdk_window_get_pointer (gtk_widget_get_window (GTK_WIDGET (view)), NULL, &y, NULL);
+      gdk_window_get_geometry (gtk_widget_get_window (GTK_WIDGET (view)), NULL, NULL, NULL, &h, NULL);
 
       /* check if we are near the edge */
       offset = y - (2 * 20);
@@ -2667,10 +2667,10 @@ thunar_tree_view_drag_scroll_timer (gpointer user_data)
           vadjustment = gtk_tree_view_get_vadjustment (GTK_TREE_VIEW (view));
 
           /* determine the new value */
-          value = CLAMP (vadjustment->value + 2 * offset, vadjustment->lower, vadjustment->upper - vadjustment->page_size);
+          value = CLAMP (gtk_adjustment_get_value (vadjustment) + 2 * offset, gtk_adjustment_get_lower (vadjustment), gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment));
 
           /* check if we have a new value */
-          if (G_UNLIKELY (vadjustment->value != value))
+          if (G_UNLIKELY (gtk_adjustment_get_value (vadjustment) != value))
             {
               /* apply the new value */
               gtk_adjustment_set_value (vadjustment, value);
diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c
index 3730e85..ee55a0b 100644
--- a/thunar/thunar-window.c
+++ b/thunar/thunar-window.c
@@ -1333,9 +1333,12 @@ thunar_window_configure_event (GtkWidget         *widget,
                                GdkEventConfigure *event)
 {
   ThunarWindow *window = THUNAR_WINDOW (widget);
+  GtkAllocation widget_allocation;
+
+  gtk_widget_get_allocation (widget, &widget_allocation);
 
   /* check if we have a new dimension here */
-  if (widget->allocation.width != event->width || widget->allocation.height != event->height)
+  if (widget_allocation.width != event->width || widget_allocation.height != event->height)
     {
       /* drop any previous timer source */
       if (window->save_geometry_timer_id != 0)
@@ -3028,7 +3031,7 @@ thunar_window_action_open_templates (GtkAction    *action,
 
       hbox = gtk_hbox_new (FALSE, 6);
       gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
-      gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, TRUE, TRUE, 0);
+      gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog))), hbox, TRUE, TRUE, 0);
       gtk_widget_show (hbox);
 
       image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG);
@@ -3529,12 +3532,12 @@ thunar_window_notify_loading (ThunarView   *view,
       if (thunar_view_get_loading (view))
         {
           cursor = gdk_cursor_new (GDK_WATCH);
-          gdk_window_set_cursor (GTK_WIDGET (window)->window, cursor);
+          gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), cursor);
           gdk_cursor_unref (cursor);
         }
       else
         {
-          gdk_window_set_cursor (GTK_WIDGET (window)->window, NULL);
+          gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET (window)), NULL);
         }
     }
 }
@@ -3655,7 +3658,7 @@ thunar_window_save_geometry_timer (gpointer user_data)
       if (gtk_widget_get_visible (GTK_WIDGET (window)))
         {
           /* determine the current state of the window */
-          state = gdk_window_get_state (GTK_WIDGET (window)->window);
+          state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window)));
 
           /* don't save geometry for maximized or fullscreen windows */
           if ((state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN)) == 0)
diff --git a/thunarx/thunarx-property-page.c b/thunarx/thunarx-property-page.c
index 6fb88f3..1a6a0f2 100644
--- a/thunarx/thunarx-property-page.c
+++ b/thunarx/thunarx-property-page.c
@@ -202,11 +202,12 @@ static void
 thunarx_property_page_size_request (GtkWidget      *widget,
                                     GtkRequisition *requisition)
 {
-  GtkBin *bin = GTK_BIN (widget);
+  GtkBin    *bin = GTK_BIN (widget);
+  GtkWidget *child = gtk_bin_get_child (bin);
 
-  if (G_LIKELY (bin->child != NULL && gtk_widget_get_visible (bin->child)))
+  if (G_LIKELY (child != NULL && gtk_widget_get_visible (child)))
     {
-      gtk_widget_size_request (bin->child, requisition);
+      gtk_widget_size_request (child, requisition);
     }
   else
     {
@@ -214,8 +215,8 @@ thunarx_property_page_size_request (GtkWidget      *widget,
       requisition->height = 0;
     }
 
-  requisition->width += 2 * (GTK_CONTAINER (bin)->border_width + widget->style->xthickness);
-  requisition->height += 2 * (GTK_CONTAINER (bin)->border_width + widget->style->ythickness);
+  requisition->width += 2 * (gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->xthickness);
+  requisition->height += 2 * (gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->ythickness);
 }
 
 
@@ -226,21 +227,22 @@ thunarx_property_page_size_allocate (GtkWidget     *widget,
 {
   GtkAllocation child_allocation;
   GtkBin       *bin = GTK_BIN (widget);
+  GtkWidget    *child = gtk_bin_get_child (bin);
 
   /* apply the allocation to the property page */
-  widget->allocation = *allocation;
+  gtk_widget_set_allocation (widget, allocation);
 
   /* apply the child allocation if we have a child */
-  if (G_LIKELY (bin->child != NULL && gtk_widget_get_visible (bin->child)))
+  if (G_LIKELY (child != NULL && gtk_widget_get_visible (child)))
     {
       /* calculate the allocation for the child widget */
-      child_allocation.x = allocation->x + GTK_CONTAINER (bin)->border_width + widget->style->xthickness;
-      child_allocation.y = allocation->y + GTK_CONTAINER (bin)->border_width + widget->style->ythickness;
-      child_allocation.width = allocation->width - 2 * (GTK_CONTAINER (bin)->border_width + widget->style->xthickness);
-      child_allocation.height = allocation->height - 2 * (GTK_CONTAINER (bin)->border_width + widget->style->ythickness);
+      child_allocation.x = allocation->x + gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->xthickness;
+      child_allocation.y = allocation->y + gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->ythickness;
+      child_allocation.width = allocation->width - 2 * (gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->xthickness);
+      child_allocation.height = allocation->height - 2 * (gtk_container_get_border_width (GTK_CONTAINER (bin)) + gtk_widget_get_style (widget)->ythickness);
 
       /* apply the child allocation */
-      gtk_widget_size_allocate (bin->child, &child_allocation);
+      gtk_widget_size_allocate (child, &child_allocation);
     }
 }
 
@@ -367,7 +369,7 @@ thunarx_property_page_set_label_widget (ThunarxPropertyPage *property_page,
                                         GtkWidget           *label_widget)
 {
   g_return_if_fail (THUNARX_IS_PROPERTY_PAGE (property_page));
-  g_return_if_fail (label_widget == NULL || (GTK_IS_WIDGET (label_widget) && label_widget->parent == NULL));
+  g_return_if_fail (label_widget == NULL || (GTK_IS_WIDGET (label_widget) && gtk_widget_get_parent (label_widget) == NULL));
 
   if (G_UNLIKELY (label_widget == property_page->priv->label_widget))
     return;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list