Hello community, here is the log from the commit of package caja for openSUSE:Factory checked in at 2019-05-16 22:02:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/caja (Old) and /work/SRC/openSUSE:Factory/.caja.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "caja" Thu May 16 22:02:59 2019 rev:31 rq:682545 version:1.22.0 Changes: -------- --- /work/SRC/openSUSE:Factory/caja/caja.changes 2018-12-18 14:58:04.586279973 +0100 +++ /work/SRC/openSUSE:Factory/.caja.new.5148/caja.changes 2019-05-16 22:03:09.590665267 +0200 @@ -1,0 +2,134 @@ +Tue Mar 5 15:19:33 UTC 2019 - [email protected] + +- Update to version 1.22.0: + * Avoid deprecated GtkStock. + * Avoid deprecated GtkImageMenuItem. + * libcaja-private/caja-recent.c: gvfs-open is a deprecated tool, + switch to "gio open" from libglib2.0-bin. + * caja-query-editor.c: Add "#include <eel/eel-stock-dialogs.h>". + * caja-file-management-properties.ui: Avoid deprecated GtkVBox + and GtkHBox. + * caja-bookmarks-window.ui: Avoid deprecated functions. + * Rename mate_dialog_add_button to eel_dialog_add_button. + * caja-spatial-window.c: Avoid deprecated GtkVBox. + * Eliminate accessible children-changed event flood on container + repopulation. + * Eliminate accessible children-changed event flood during update + all. + * Emit accessible-name-change signal for icons only when icons + are renamed. + * sidebar popup menu: Show "media-eject" icon in the "unmount" + items. + * pathbar: Fix random segfaults on opening mounts from Desktop. + * fm-icon-view: Show size on disc as sort criterion. + * sidebar popup menu: Show "media-eject" icon. + * Add sort criterion by reversed extension segments. + * fm-tree-view.c: Drop unused variable. + * Rename "mate_image_menu_item..." to + "eel_image_menu_item_new_from_icon". + * eel-gtk-extensions: Show icons in right-click menus only if + "menus-have-icons" is set. + * caja-sidebar-title: Fix: images broken in sidebar. + * caja-progress-info.c: Show notifications in begin/end of + progress. + * caja-progress-info.c: Avoid deprecated + "gtk_status_icon_get_visible". + * caja-sidebar-title: Fix a -Wmaybe-uninitialized warning. + * caja-desktop-window.c: Fix: caja crashes unexpectedly. + * Avoid deprecated "gtk_widget_override_font". + * Avoid deprecated "gtk_window_set_wmclass". + * caja-bookmark.c: Drop unused variable. + * caja-bookmark.c: Fix icons in bookmarks. + * icon-container: Avoid deprecated + "gtk_style_context_get_border_color". + * Avoid deprecated "gtk_dialog_get_action_area". + * Pathbar button: Fix poor response to right-click. + * editable-label: Avoid deprecated + "gtk_im_multicontext_append_menuitems". + * Use NULL instead of an uninitialised variable. + * eel-editable-label.c: Avoid deprecated gdk_keymap_get_default. + * eel-editable-label: Avoid deprecated + gtk_style_context_set_background. + * zoom-control: Don't use the eel_pop_up_context_menu function. + * Replace deprecated gtk_menu_popup. + * libcaja-private: Replace deprecated gdk_error_trap functions. + * fm-desktop-icon-view: Replace deprecated + gdk_error_trap_push/pop functions. + * Replace deprecated gdk_flush. + * libcaja-private: Fix -Wlogical-not-parentheses build warning. + * Avoid deprecated gtk_style_context_get_background_color. + * GSettings should init before use it. + * monitor: Fix a crash on unmounting remote filesystems. + * CajaFile: Fix a crash in modify_link_hash_table. + * connect-server-dialog: Respect password save setting. + * properties-window: Fix checking inconsistent state. + * monitor: Watch for removal of non-native mounts on + GVolumeMonitor. + * Add "Configurable" interface and add support to + caja-file-management-properties. + * caja-application.c: Remove redundant empty lines. + * Update caja manpage with info about "--force-desktop" option. + * Caja-icon-info: Optimise icon lookups by GIcon. + * fm-directory-view.c: Decrease minimum update interval. + * Remove dead code, fix a memory leak. + * Add option to open multiple uri in tabs at startup. + * Add the ability to switch tabs using [ctrl+tab] and + [ctrl+shift+tab]. + * caja-desktop-directory: Stop segfaults in + directory_ready_callback. + * caja-directory.c: Fix a build warning. + * pathbar: Increase reference count of path in + update_button_types. + * Fix some issues found by static analysis. + * pathbar: Fix crash when accessing drive root. + * libcaja-private: Remove redundant prefs application to hash + table. + * [desktop-bg] Fix a memory leak during background change events. + * caja-location-bar: Fix: change background colour based on + activity state. + * Avoid deprecated g_type_class_add_private under src. + * Fix incompatible pointer types. + * Avoid deprecated g_type_class_add_private under src. + * Avoid deprecated g_type_class_add_private under + libcaja-private. + * Fix compile warning. + * Let file size units follow the users preference. + * Fixed the value of 6 month and 1 year. + * Support querying files by modification time and size. + * Avoid deprecated g_type_class_add_private. + * CajaApplication: Avoid deprecated g_type_class_add_private. + * caja-menu: Avoid deprecated g_type_class_add_private. + * eel, libegg: Use G_DEFINE_TYPE_WITH_PRIVATE macro. + * configure.ac: Add check for PKG_CONFIG being set. + * caja-application: Check for smclient before trying to load + session. + * eel: Avoid deprecated g_type_class_add_private. + * libegg: Avoid deprecated g_type_class_add_private. + * libcaja-private: Re-check file MIME type before picking an + application. + * file-manager: Fix apparent bug in context menu updating code. + * Revert "fm-directory-view.c: Decrease minimum update interval.". + * Fix: weird item in bookmarks if the directory was removed. + * Minor code-quality enhancements. + * Forgot to initialise is_backup field. + * Change show/hide backup files shortcut. + * Remove useless comments, correct description string. + * Skip hidden files only, not backups. + * Add independent show/hide backup files. + * Deleting an unused nautilus icon. + * caja-progress-info: New behaviour with notifications. + * caja-progress-info: Show notifications with the gsettings key. + * Move AppStream files to the metainfo/ directory. + * caja-places-sidebar: Replace two other uses of + g_drive_poll_for_media_finish. + * caja-bookmark: Fix memory leak. + * eel-gtk-extensions: Fix memory leaks. + * Add update-authors.pl script which helps to update caja.about. + * Read authors and documenters fom caja.about file. + * Ensure proper translation of the about dialogue title + * Add --disable-self-check for configure. + * Update translations. +- Rebase caja-gtk-3.20.patch. +- Add caja-missing-include.patch: Add a missing include. + +------------------------------------------------------------------- Old: ---- caja-1.20.3.tar.xz New: ---- caja-1.22.0.tar.xz caja-missing-include.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ caja.spec ++++++ --- /var/tmp/diff_new_pack.q0QbhW/_old 2019-05-16 22:03:11.238664231 +0200 +++ /var/tmp/diff_new_pack.q0QbhW/_new 2019-05-16 22:03:11.270664211 +0200 @@ -1,7 +1,7 @@ # # spec file for package caja # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,17 +18,19 @@ %define lname libcaja-extension1 %define typelib typelib-1_0-Caja-2_0 -%define _version 1.20 +%define _version 1.22 Name: caja -Version: 1.20.3 +Version: 1.22.0 Release: 0 Summary: File manager for the MATE desktop License: GPL-2.0-only AND LGPL-2.0-only Group: System/GUI/Other Url: https://mate-desktop.org/ Source: https://pub.mate-desktop.org/releases/%{_version}/%{name}-%{version}.tar.xz +# PATCH-FIX-OPENSUSE caja-missing-include.patch -- Add a missing include. +Patch0: caja-missing-include.patch # PATCH-FEATURE-OPENSUSE caja-gtk-3.20.patch -- Restore GLib 2.48 and GTK+ 3.20 support. -Patch0: caja-gtk-3.20.patch +Patch1: caja-gtk-3.20.patch BuildRequires: mate-common >= %{_version} BuildRequires: pkgconfig BuildRequires: update-desktop-files @@ -119,8 +121,12 @@ %prep %setup -q %patch0 -p1 +%patch1 -p1 %build +%if 0%{?suse_version} < 1500 +export CFLAGS="%{optflags} -std=gnu99" +%endif NOCONFIGURE=1 mate-autogen %configure \ --disable-update-mimedb \ @@ -189,8 +195,8 @@ %{_datadir}/pixmaps/* %{_datadir}/mime/packages/* %{_mandir}/man?/*.?%{?ext_man} -%dir %{_datadir}/appdata/ -%{_datadir}/appdata/caja.appdata.xml +%dir %{_datadir}/metainfo/ +%{_datadir}/metainfo/caja.appdata.xml # Own common extensions directories. %dir %{_libdir}/caja/ %dir %{_libdir}/caja/extensions-2.0/ ++++++ caja-1.20.3.tar.xz -> caja-1.22.0.tar.xz ++++++ ++++ 1046218 lines of diff (skipped) ++++++ caja-gtk-3.20.patch ++++++ --- /var/tmp/diff_new_pack.q0QbhW/_old 2019-05-16 22:03:14.230662351 +0200 +++ /var/tmp/diff_new_pack.q0QbhW/_new 2019-05-16 22:03:14.234662349 +0200 @@ -17,7 +17,7 @@ m4_define(exempi_minver, 1.99.5) --- a/eel/eel-background.c +++ b/eel/eel-background.c -@@ -80,7 +80,9 @@ struct EelBackgroundDetails +@@ -78,7 +78,9 @@ struct EelBackgroundPrivate gboolean is_active; }; @@ -25,8 +25,8 @@ static GList *desktop_bg_objects = NULL; +#endif - static void - free_fade (EelBackground *self) + G_DEFINE_TYPE_WITH_PRIVATE (EelBackground, eel_background, G_TYPE_OBJECT) + @@ -129,12 +131,14 @@ eel_background_finalize (GObject *object free_background_surface (self); free_fade (self); @@ -42,7 +42,7 @@ G_OBJECT_CLASS (eel_background_parent_class)->finalize (object); } -@@ -493,8 +497,22 @@ fade_to_surface (EelBackground *self, +@@ -498,8 +502,22 @@ fade_to_surface (EelBackground *self, if (!mate_bg_crossfade_is_started (self->details->fade)) { @@ -65,7 +65,7 @@ if (self->details->is_desktop) { g_signal_connect (self->details->fade, -@@ -541,6 +559,22 @@ eel_background_set_up_widget (EelBackgro +@@ -546,6 +564,22 @@ eel_background_set_up_widget (EelBackgro if (self->details->is_desktop) { @@ -88,7 +88,7 @@ set_root_surface (self, window, gtk_widget_get_screen (widget)); } } -@@ -715,7 +749,9 @@ eel_get_widget_background (GtkWidget *wi +@@ -720,7 +754,9 @@ eel_get_widget_background (GtkWidget *wi { EelBackground *self; gpointer data; @@ -98,7 +98,7 @@ g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); -@@ -726,7 +762,7 @@ eel_get_widget_background (GtkWidget *wi +@@ -731,7 +767,7 @@ eel_get_widget_background (GtkWidget *wi g_assert (EEL_IS_BACKGROUND (data)); return data; } @@ -107,7 +107,7 @@ /* Check for an existing desktop window background. */ for (l = desktop_bg_objects; l != NULL; l = l->next) { -@@ -737,6 +773,7 @@ eel_get_widget_background (GtkWidget *wi +@@ -742,6 +778,7 @@ eel_get_widget_background (GtkWidget *wi return self; } } @@ -154,9 +154,74 @@ return mate_bg_is_dark (self->details->bg, rect.width, rect.height); } +--- a/eel/eel-editable-label.c ++++ b/eel/eel-editable-label.c +@@ -3096,11 +3096,14 @@ popup_targets_received (GtkClipboard + signals[POPULATE_POPUP], 0, + label->popup_menu); + +- if (info->button) +- gtk_menu_popup_at_pointer (GTK_MENU (label->popup_menu), NULL); +- else ++#if GTK_CHECK_VERSION (3, 22, 0) ++ gtk_menu_popup_at_pointer (GTK_MENU (label->popup_menu), NULL); ++#else ++ gtk_menu_popup (GTK_MENU (label->popup_menu), NULL, NULL, ++ NULL, NULL, 0, GDK_CURRENT_TIME); ++#endif ++ if (!info->button) + { +- gtk_menu_popup_at_pointer (GTK_MENU (label->popup_menu), NULL); + gtk_menu_shell_select_first (GTK_MENU_SHELL (label->popup_menu), FALSE); + } + } +--- a/eel/eel-gtk-extensions.c ++++ b/eel/eel-gtk-extensions.c +@@ -292,7 +292,13 @@ eel_pop_up_context_menu (GtkMenu *menu, + { + g_return_if_fail (GTK_IS_MENU (menu)); + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (menu, (const GdkEvent*) event); ++#else ++ gtk_menu_popup (menu, NULL, NULL, NULL, NULL, ++ event && event->type != GDK_BUTTON_RELEASE ? event->button : 0, ++ event ? event->time : GDK_CURRENT_TIME); ++#endif + + g_object_ref_sink (menu); + g_object_unref (menu); +--- a/libcaja-private/caja-dnd.c ++++ b/libcaja-private/caja-dnd.c +@@ -827,7 +827,12 @@ caja_drag_drop_action_ask (GtkWidget *wi + + gtk_grab_add (menu); + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL); ++#else ++ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, ++ NULL, NULL, 0, GDK_CURRENT_TIME); ++#endif + + g_main_loop_run (damd.loop); + +@@ -880,7 +885,12 @@ caja_drag_drop_background_ask (GtkWidget + + gtk_grab_add (menu); + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL); ++#else ++ gtk_menu_popup (GTK_MENU (menu), NULL, NULL, ++ NULL, NULL, 0, GDK_CURRENT_TIME); ++#endif + + g_main_loop_run (damd.loop); + --- a/libcaja-private/caja-icon-container.c +++ b/libcaja-private/caja-icon-container.c -@@ -4584,7 +4584,14 @@ realize (GtkWidget *widget) +@@ -4595,7 +4595,14 @@ realize (GtkWidget *widget) GTK_WIDGET_CLASS (caja_icon_container_parent_class)->realize (widget); container = CAJA_ICON_CONTAINER (widget); @@ -172,19 +237,19 @@ /* Set up DnD. */ caja_icon_dnd_init (container); -@@ -5245,7 +5252,11 @@ caja_icon_container_search_position_func +@@ -5256,7 +5263,11 @@ caja_icon_container_search_position_func GdkWindow *cont_window; GdkScreen *screen; GtkRequisition requisition; +#if GTK_CHECK_VERSION (3, 22, 0) GdkMonitor *monitor_num; +#else -+ gint monitor_num; ++ int monitor_num; +#endif GdkRectangle monitor; -@@ -5253,9 +5264,14 @@ caja_icon_container_search_position_func +@@ -5264,9 +5275,14 @@ caja_icon_container_search_position_func scale = gtk_widget_get_scale_factor (GTK_WIDGET (container)); screen = gdk_window_get_screen (cont_window); @@ -199,6 +264,20 @@ gtk_widget_realize (search_dialog); +--- a/libcaja-private/caja-recent.c ++++ b/libcaja-private/caja-recent.c +@@ -22,7 +22,11 @@ + + #include <eel/eel-vfs-extensions.h> + ++#if GLIB_CHECK_VERSION (2, 50, 0) + #define DEFAULT_APP_EXEC "gio open %u" ++#else ++#define DEFAULT_APP_EXEC "gvfs-open %u" ++#endif + + static GtkRecentManager * + caja_recent_get_manager (void) --- a/src/caja-bookmarks-window.c +++ b/src/caja-bookmarks-window.c @@ -145,9 +145,15 @@ caja_bookmarks_window_response_callback @@ -237,7 +316,7 @@ eel_show_error_dialog (_("There was an error displaying help."), error->message, --- a/src/caja-desktop-window.c +++ b/src/caja-desktop-window.c -@@ -290,6 +290,7 @@ realize (GtkWidget *widget) +@@ -299,6 +299,7 @@ realize (GtkWidget *widget) G_CALLBACK (caja_desktop_window_screen_size_changed), window); } @@ -245,7 +324,7 @@ static gboolean draw (GtkWidget *widget, cairo_t *cr) -@@ -298,6 +299,7 @@ draw (GtkWidget *widget, +@@ -307,6 +308,7 @@ draw (GtkWidget *widget, return GTK_WIDGET_CLASS (caja_desktop_window_parent_class)->draw (widget, cr); } @@ -253,7 +332,7 @@ static char * real_get_title (CajaWindow *window) -@@ -322,7 +324,9 @@ caja_desktop_window_class_init (CajaDesk +@@ -331,7 +333,9 @@ caja_desktop_window_class_init (CajaDesk wclass->realize = realize; wclass->unrealize = unrealize; wclass->map = map; @@ -263,9 +342,25 @@ gtk_widget_class_set_accessible_type (wclass, CAJA_TYPE_DESKTOP_WINDOW_ACCESSIBLE); +--- a/src/caja-emblem-sidebar.c ++++ b/src/caja-emblem-sidebar.c +@@ -187,8 +187,13 @@ caja_emblem_sidebar_button_press_cb (Gtk + gtk_widget_set_sensitive (emblem_sidebar->details->popup_rename, + caja_emblem_can_rename_emblem (keyword)); + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (GTK_MENU (emblem_sidebar->details->popup), + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (GTK_MENU (emblem_sidebar->details->popup), NULL, NULL, ++ NULL, NULL, event->button, event->time); ++#endif + } + + return TRUE; --- a/src/caja-file-management-properties.c +++ b/src/caja-file-management-properties.c -@@ -222,9 +222,15 @@ preferences_show_help (GtkWindow *parent +@@ -232,9 +232,15 @@ preferences_show_help (GtkWindow *parent help_string = g_strdup_printf ("help:%s/%s", helpfile, sect_id); @@ -299,9 +394,26 @@ if (error) { eel_show_error_dialog (_("There was an error displaying help."), error->message, +--- a/src/caja-navigation-window-pane.c ++++ b/src/caja-navigation-window-pane.c +@@ -416,8 +416,14 @@ notebook_popup_menu_show (CajaNavigation + pane->notebook, + NULL); + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (GTK_MENU (popup), + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (GTK_MENU (popup), NULL, NULL, NULL, NULL, ++ event != NULL ? event->button : 0, ++ event != NULL ? event->time : GDK_CURRENT_TIME); ++#endif + } + + /* emitted when the user clicks the "close" button of tabs */ --- a/src/caja-property-browser.c +++ b/src/caja-property-browser.c -@@ -1648,9 +1648,15 @@ help_button_callback (GtkWidget *widget, +@@ -1663,9 +1663,15 @@ help_button_callback (GtkWidget *widget, GError *error = NULL; GtkWidget *dialog; @@ -317,9 +429,81 @@ if (error) { +--- a/src/caja-side-pane.c ++++ b/src/caja-side-pane.c +@@ -176,6 +176,32 @@ panel_item_activate_callback (GtkMenuIte + select_panel (side_pane, panel); + } + ++#if !GTK_CHECK_VERSION (3, 22, 0) ++static void ++menu_position_under_widget (GtkMenu *menu, ++ int *x, ++ int *y, ++ gboolean *push_in, ++ gpointer user_data) ++{ ++ GtkWidget *widget; ++ GtkAllocation allocation; ++ ++ g_return_if_fail (GTK_IS_WIDGET (user_data)); ++ g_return_if_fail (!gtk_widget_get_has_window (GTK_WIDGET (user_data))); ++ ++ widget = GTK_WIDGET (user_data); ++ ++ gdk_window_get_origin (gtk_widget_get_window (widget), x, y); ++ gtk_widget_get_allocation (widget, &allocation); ++ ++ *x += allocation.x; ++ *y += allocation.y + allocation.height; ++ ++ *push_in = FALSE; ++} ++#endif ++ + static gboolean + select_button_press_callback (GtkWidget *widget, + GdkEventButton *event, +@@ -201,11 +227,17 @@ select_button_press_callback (GtkWidget + gtk_widget_grab_focus (widget); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_widget (GTK_MENU (side_pane->details->menu), + widget, + GDK_GRAVITY_SOUTH_WEST, + GDK_GRAVITY_NORTH_WEST, + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (GTK_MENU (side_pane->details->menu), NULL, NULL, ++ menu_position_under_widget, widget, ++ event->button, event->time); ++#endif + + return TRUE; + } +@@ -227,11 +259,17 @@ select_button_key_press_callback (GtkWid + event->keyval == GDK_KEY_KP_Enter) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); +- gtk_menu_popup_at_widget (GTK_MENU (side_pane->details->menu), ++ #if GTK_CHECK_VERSION (3, 22, 0) ++ gtk_menu_popup_at_widget (GTK_MENU (side_pane->details->menu), + widget, + GDK_GRAVITY_SOUTH_WEST, + GDK_GRAVITY_NORTH_WEST, + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (GTK_MENU (side_pane->details->menu), NULL, NULL, ++ menu_position_under_widget, widget, ++ GDK_BUTTON_PRIMARY, event->time); ++#endif + return TRUE; + } + --- a/src/caja-window-menus.c +++ b/src/caja-window-menus.c -@@ -575,11 +575,19 @@ action_caja_manual_callback (GtkAction * +@@ -596,11 +596,19 @@ action_caja_manual_callback (GtkAction * error = NULL; window = CAJA_WINDOW (user_data); @@ -341,41 +525,73 @@ { --- a/src/caja-zoom-control.c +++ b/src/caja-zoom-control.c -@@ -144,7 +144,12 @@ menu_position_under_widget (GtkMenu *m - GtkRequisition req; - GtkRequisition menu_req; - GdkRectangle monitor; +@@ -123,17 +123,45 @@ zoom_button_clicked (GtkButton *button, + g_signal_emit (zoom_control, signals[ZOOM_TO_DEFAULT], 0); + } + ++#if !GTK_CHECK_VERSION (3, 22, 0) ++static void ++zoom_popup_menu_position_under_widget (GtkMenu *menu, int *x, int *y, gboolean *push_in, gpointer user_data) ++{ ++ GtkWidget *widget; ++ GtkAllocation allocation; ++ ++ g_return_if_fail (GTK_IS_WIDGET (user_data)); ++ g_return_if_fail (!gtk_widget_get_has_window (GTK_WIDGET (user_data))); ++ ++ widget = GTK_WIDGET (user_data); ++ ++ gdk_window_get_origin (gtk_widget_get_window (widget), x, y); ++ gtk_widget_get_allocation (widget, &allocation); ++ ++ *x += allocation.x; ++ *y += allocation.y + allocation.height; ++ ++ *push_in = FALSE; ++} ++#endif ++ + static void + zoom_popup_menu_show (GtkWidget *widget, GdkEventButton *event, CajaZoomControl *zoom_control) + { + GtkMenu *menu; + + menu = create_zoom_menu (zoom_control); +#if GTK_CHECK_VERSION (3, 22, 0) - GdkMonitor *monitor_num; -+#else -+ gint monitor_num; -+ GdkScreen *screen; + gtk_menu_popup_at_widget (menu, + widget, + GDK_GRAVITY_SOUTH_WEST, + GDK_GRAVITY_NORTH_WEST, + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (menu, NULL, NULL, ++ zoom_popup_menu_position_under_widget, widget, ++ event->button, event->time); +#endif - GdkDisplay *display; - GtkAllocation allocation; + } -@@ -159,10 +164,18 @@ menu_position_under_widget (GtkMenu *m - gtk_widget_get_allocation (widget, &allocation); + static void +@@ -142,11 +170,17 @@ zoom_popup_menu (GtkWidget *widget, Caja + GtkMenu *menu; - display = gtk_widget_get_display (GTK_WIDGET (menu)); + menu = create_zoom_menu (zoom_control); +#if GTK_CHECK_VERSION (3, 22, 0) - monitor_num = gdk_display_get_monitor_at_window (display, gtk_widget_get_window (widget)); - if (monitor_num == NULL) - monitor_num = gdk_display_get_monitor (display, 0); - gdk_monitor_get_geometry (monitor_num, &monitor); + gtk_menu_popup_at_widget (menu, + widget, + GDK_GRAVITY_SOUTH_WEST, + GDK_GRAVITY_NORTH_WEST, + NULL); +#else -+ screen = gdk_display_get_default_screen (display); -+ monitor_num = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (widget)); -+ if (monitor_num < 0) -+ monitor_num = 0; -+ gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); ++ gtk_menu_popup (menu, NULL, NULL, ++ zoom_popup_menu_position_under_widget, widget, ++ 0, GDK_CURRENT_TIME); +#endif - gdk_window_get_origin (gtk_widget_get_window (widget), x, y); - if (!gtk_widget_get_has_window (widget)) + gtk_menu_shell_select_first (GTK_MENU_SHELL (menu), FALSE); + } --- a/src/file-manager/fm-directory-view.c +++ b/src/file-manager/fm-directory-view.c -@@ -1170,9 +1170,15 @@ pattern_select_response_cb (GtkWidget *d +@@ -1173,9 +1173,15 @@ pattern_select_response_cb (GtkWidget *d break; case GTK_RESPONSE_HELP : error = NULL; @@ -419,7 +635,7 @@ gtk_widget_show (scroller); gtk_notebook_append_page (window->details->notebook, -@@ -5412,10 +5414,17 @@ real_response (GtkDialog *dialog, +@@ -5417,10 +5419,17 @@ real_response (GtkDialog *dialog, switch (response) { case GTK_RESPONSE_HELP: @@ -437,3 +653,19 @@ if (error != NULL) { eel_show_error_dialog (_("There was an error displaying help."), error->message, GTK_WINDOW (dialog)); +--- a/src/file-manager/fm-tree-view.c ++++ b/src/file-manager/fm-tree-view.c +@@ -861,8 +861,13 @@ button_pressed_callback (GtkTreeView *tr + gtk_widget_hide (view->details->popup_unmount_separator); + } + ++#if GTK_CHECK_VERSION (3, 22, 0) + gtk_menu_popup_at_pointer (GTK_MENU (view->details->popup), + (const GdkEvent*) event); ++#else ++ gtk_menu_popup (GTK_MENU (view->details->popup), NULL, NULL, ++ NULL, NULL, event->button, event->time); ++#endif + + gtk_tree_view_set_cursor (view->details->tree_widget, cursor_path, NULL, FALSE); + gtk_tree_path_free (cursor_path); ++++++ caja-missing-include.patch ++++++ --- a/libcaja-private/caja-bookmark.c +++ b/libcaja-private/caja-bookmark.c @@ -26,6 +26,7 @@ #include "caja-bookmark.h" #include "caja-file.h" +#include <string.h> #include <eel/eel-gdk-pixbuf-extensions.h> #include <eel/eel-gtk-extensions.h> #include <eel/eel-gtk-macros.h>
