Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package nemo for openSUSE:Factory checked in at 2023-01-29 14:10:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nemo (Old) and /work/SRC/openSUSE:Factory/.nemo.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nemo" Sun Jan 29 14:10:59 2023 rev:50 rq:1061806 version:5.6.3 Changes: -------- --- /work/SRC/openSUSE:Factory/nemo/nemo.changes 2023-01-21 19:11:26.013254732 +0100 +++ /work/SRC/openSUSE:Factory/.nemo.new.32243/nemo.changes 2023-01-29 14:32:36.138160550 +0100 @@ -1,0 +2,7 @@ +Sat Jan 28 21:12:08 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 5.6.3: + * nemo-window-menus.c: Recalculate extension/action items at an earlier stage in opening the file manu. + * nemo-extensions-list.c: Add a note regarding a memory leak. + +------------------------------------------------------------------- Old: ---- nemo-5.6.2.tar.gz New: ---- nemo-5.6.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nemo.spec ++++++ --- /var/tmp/diff_new_pack.laNrSD/_old 2023-01-29 14:32:36.534165249 +0100 +++ /var/tmp/diff_new_pack.laNrSD/_new 2023-01-29 14:32:36.538165296 +0100 @@ -20,7 +20,7 @@ %define sover 1 %define typelib typelib-1_0-Nemo-3_0 Name: nemo -Version: 5.6.2 +Version: 5.6.3 Release: 0 Summary: File browser for Cinnamon License: GPL-2.0-or-later ++++++ nemo-5.6.2.tar.gz -> nemo-5.6.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-5.6.2/debian/changelog new/nemo-5.6.3/debian/changelog --- old/nemo-5.6.2/debian/changelog 2023-01-07 16:53:25.000000000 +0100 +++ new/nemo-5.6.3/debian/changelog 2023-01-18 17:11:48.000000000 +0100 @@ -1,3 +1,11 @@ +nemo (5.6.3) vera; urgency=medium + + [ Michael Webster ] + * nemo-window-menus.c: Recalculate extension/action items at an earlier stage in opening the file manu. + * nemo-extensions-list.c: Add a note regarding a memory leak. + + -- Clement Lefebvre <r...@linuxmint.com> Wed, 18 Jan 2023 16:11:34 +0000 + nemo (5.6.2) vera; urgency=medium [ Clement Lefebvre ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-5.6.2/meson.build new/nemo-5.6.3/meson.build --- old/nemo-5.6.2/meson.build 2023-01-07 16:53:25.000000000 +0100 +++ new/nemo-5.6.3/meson.build 2023-01-18 17:11:48.000000000 +0100 @@ -1,7 +1,7 @@ # Meson build file # https://github.com/linuxmint/nemo -project('nemo', 'c', version: '5.6.2', +project('nemo', 'c', version: '5.6.3', meson_version: '>=0.41.0' ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-5.6.2/src/nemo-extensions-list.c new/nemo-5.6.3/src/nemo-extensions-list.c --- old/nemo-5.6.2/src/nemo-extensions-list.c 2023-01-07 16:53:25.000000000 +0100 +++ new/nemo-5.6.3/src/nemo-extensions-list.c 2023-01-18 17:11:48.000000000 +0100 @@ -145,6 +145,13 @@ g_printf (":::%s\n", (gchar *) nd_list->data); + // NOTE: This leaks nd_list->data for certain extensions, and not for others, depending on if they + // passed a copy of the string or not. Since there are potentially extensions out in the wild (and + // a few of our own) that don't use a copy, if we tried to use g_list_free_full(g_free) it would + // segfault on those. + // + // Since this is just a helper for nemo-extension-config-widget.c, and not part of the nemo process, + // ignore the leak here. g_list_free (nd_list); } else { g_printf ("\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nemo-5.6.2/src/nemo-window-menus.c new/nemo-5.6.3/src/nemo-window-menus.c --- old/nemo-5.6.2/src/nemo-window-menus.c 2023-01-07 16:53:25.000000000 +0100 +++ new/nemo-5.6.3/src/nemo-window-menus.c 2023-01-18 17:11:48.000000000 +0100 @@ -1351,26 +1351,22 @@ g_object_unref (gfile); } +#define NEMO_VIEW_MENUBAR_FILE_PATH "/MenuBar/File" + static void -file_menu_bar_item_activated (GtkAction *action, gpointer user_data) +on_file_menu_show (GtkWidget *widget, gpointer user_data) { NemoWindow *window; NemoView *view; window = NEMO_WINDOW (user_data); - - if (window->details->dynamic_menu_entries_current) { - return; - } - view = get_current_view (window); - nemo_view_update_actions_and_extensions (view); - window->details->dynamic_menu_entries_current = TRUE; + nemo_view_update_actions_and_extensions (view); } static const GtkActionEntry main_entries[] = { - /* name, stock id, label */ { "File", NULL, N_("_File"), NULL, NULL, G_CALLBACK (file_menu_bar_item_activated) }, + /* name, stock id, label */ { "File", NULL, N_("_File") }, /* name, stock id, label */ { "Edit", NULL, N_("_Edit") }, /* name, stock id, label */ { "View", NULL, N_("_View") }, /* name, stock id, label */ { "Help", NULL, N_("_Help") }, @@ -1869,16 +1865,6 @@ NULL); } -static void -menu_bar_deactivated (GtkMenuShell *menu, gpointer user_data) -{ - NemoWindow *window; - - window = NEMO_WINDOW (user_data); - - window->details->dynamic_menu_entries_current = FALSE; -} - /** * nemo_window_initialize_menus * @@ -1890,7 +1876,6 @@ { GtkActionGroup *action_group; GtkUIManager *ui_manager; - GtkWidget *menubar; GtkAction *action; GtkAction *action_to_hide; gint i; @@ -2002,13 +1987,10 @@ /* add the UI */ gtk_ui_manager_add_ui_from_resource (ui_manager, "/org/nemo/nemo-shell-ui.xml", NULL); - // window->details->menubar isn't set yet - menubar = gtk_ui_manager_get_widget (window->details->ui_manager, "/MenuBar"); - - g_signal_connect (menubar, - "deactivate", - G_CALLBACK (menu_bar_deactivated), - window); + GtkWidget *menuitem, *submenu; + menuitem = gtk_ui_manager_get_widget (nemo_window_get_ui_manager (window), NEMO_VIEW_MENUBAR_FILE_PATH); + submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (menuitem)); + g_signal_connect (submenu, "show", G_CALLBACK (on_file_menu_show), window); nemo_window_initialize_trash_icon_monitor (window); }