Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package parcellite for openSUSE:Factory checked in at 2026-07-15 16:57:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/parcellite (Old) and /work/SRC/openSUSE:Factory/.parcellite.new.1991 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "parcellite" Wed Jul 15 16:57:28 2026 rev:39 rq:1365984 version:1.2.5 Changes: -------- --- /work/SRC/openSUSE:Factory/parcellite/parcellite.changes 2025-06-04 20:29:47.540062747 +0200 +++ /work/SRC/openSUSE:Factory/.parcellite.new.1991/parcellite.changes 2026-07-15 17:12:50.494083120 +0200 @@ -1,0 +2,6 @@ +Wed Jul 15 13:10:11 UTC 2026 - Michael Vetter <[email protected]> + +- bsc#1220103 Fix lockup: + Add parcellite-lock.patch + +------------------------------------------------------------------- New: ---- parcellite-lock.patch ----------(New B)---------- New:- bsc#1220103 Fix lockup: Add parcellite-lock.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ parcellite.spec ++++++ --- /var/tmp/diff_new_pack.8rrIIx/_old 2026-07-15 17:12:51.174106527 +0200 +++ /var/tmp/diff_new_pack.8rrIIx/_new 2026-07-15 17:12:51.174106527 +0200 @@ -31,6 +31,8 @@ Patch3: fix-manpage-name.patch # https://github.com/rickyrockrat/parcellite/issues/113 Patch4: parcellite-gcc15.patch +# bsc#1220103 gh/rickyrockrat/parcellite#132 +Patch5: parcellite-lock.patch BuildRequires: gnome-icon-theme BuildRequires: intltool >= 0.23 BuildRequires: pkgconfig ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.8rrIIx/_old 2026-07-15 17:12:51.210107766 +0200 +++ /var/tmp/diff_new_pack.8rrIIx/_new 2026-07-15 17:12:51.214107903 +0200 @@ -1,6 +1,6 @@ -mtime: 1749038502 -commit: 1769302fc56dad361da308d41163a244f35725a9686086e8f6f976a125afe9ad -url: https://src.opensuse.org/lxde/parcellite.git -revision: 1769302fc56dad361da308d41163a244f35725a9686086e8f6f976a125afe9ad +mtime: 1784121460 +commit: bdd315d130a1b18f4d0a9ece5b5e2eddaddb7d14008891ed2c5d8025651b282d +url: https://src.opensuse.org/lxde/parcellite +revision: bdd315d130a1b18f4d0a9ece5b5e2eddaddb7d14008891ed2c5d8025651b282d projectscmsync: https://src.opensuse.org/lxde/_ObsPrj.git ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-07-15 15:17:40.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ parcellite-lock.patch ++++++ commit 52363506e795c90d4f2b64fcbc75e4ca7fdbae1d Author: Michael Vetter <[email protected]> Date: Wed Jul 15 14:57:00 2026 +0200 Fix lockup when clicking tray icon Add `gtk_grab_get_current()` guards to various locations. If any grab is currently active, these actions return early and do not attempt to construct or popup a new menu, preventing the deadlock. Fixes https://github.com/rickyrockrat/parcellite/issues/95 diff --git a/src/main.c b/src/main.c index d798323..1a2b131 100644 --- a/src/main.c +++ b/src/main.c @@ -2213,6 +2213,8 @@ GtkWidget *create_parcellite_menu(guint button, guint activate_time) /* Called when status icon is right-clicked */ static void show_parcellite_menu(GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer data) { + if (gtk_grab_get_current()) + return; create_parcellite_menu(button, activate_time); } @@ -2220,6 +2222,8 @@ static void show_parcellite_menu(GtkStatusIcon *status_icon, guint button, guin /* Called when status icon is left-clicked */ static void status_icon_clicked(GtkStatusIcon *status_icon, gpointer user_data) { + if (gtk_grab_get_current()) + return; /* Check what type of click was recieved */ GdkModifierType state; gtk_get_current_event_state(&state); @@ -2289,11 +2293,15 @@ void create_app_indicator(void) /* Called when history global hotkey is pressed */ void history_hotkey(char *keystring, gpointer user_data) { + if (gtk_grab_get_current()) + return; g_timeout_add(POPUP_DELAY, show_history_menu, GINT_TO_POINTER(figure_histories())); } /* Called when persistent history global hotkey is pressed */ void phistory_hotkey(char *keystring, gpointer user_data) { + if (gtk_grab_get_current()) + return; if(get_pref_int32("persistent_history") && get_pref_int32("persistent_separate")) g_timeout_add(POPUP_DELAY, show_history_menu, GINT_TO_POINTER(HIST_DISPLAY_PERSISTENT)); } @@ -2301,12 +2309,16 @@ void phistory_hotkey(char *keystring, gpointer user_data) /* Called when actions global hotkey is pressed */ void actions_hotkey(char *keystring, gpointer user_data) { + if (gtk_grab_get_current()) + return; g_timeout_add(POPUP_DELAY, show_actions_menu, NULL); } /* Called when actions global hotkey is pressed */ void menu_hotkey(char *keystring, gpointer user_data) { + if (gtk_grab_get_current()) + return; #ifdef HAVE_APPINDICATOR /*create_app_indicator(); */ create_parcellite_menu(0, gtk_get_current_event_time());
