Accepting request 1161299 from home:simonlm:branches:GNOME:Apps

Update to version 2.4

OBS-URL: https://build.opensuse.org/request/show/1161299
OBS-URL: https://build.opensuse.org/package/show/GNOME:Apps/geeqie?expand=0&rev=59
This commit is contained in:
Dominique Leuenberger 2024-03-26 11:35:10 +00:00 committed by Git OBS Bridge
parent 698ad35314
commit c06fa35742
8 changed files with 32 additions and 314 deletions

View File

@ -1,265 +0,0 @@
Based on:
From 439fc96a603c140926de30d2fa7f1b85e1e40905 Mon Sep 17 00:00:00 2001
From: Colin Clark <colin.clark@cclark.uk>
Date: Thu, 29 Feb 2024 10:05:11 +0000
Subject: [PATCH] Fix #1248: Crash when hiding file list
https://github.com/BestImageViewer/geeqie/issues/1248
Fix problems resulting from 6d72bf GTK4: Reduce the use of
gtk_widget_destroy()
Index: geeqie-2.2/src/bar-exif.cc
===================================================================
--- geeqie-2.2.orig/src/bar-exif.cc
+++ geeqie-2.2/src/bar-exif.cc
@@ -119,7 +119,10 @@ static void bar_pane_exif_setup_entry_bo
gboolean horizontal = !ee->editable;
gboolean editable = ee->editable;
- if (ee->box) g_object_unref(ee->box);
+ if (ee->box)
+ {
+ gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(ee->box)), ee->box);
+ }
ee->box = horizontal ? gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0) : gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
gq_gtk_container_add(GTK_WIDGET(ee->ebox), ee->box);
@@ -600,7 +603,7 @@ static void bar_pane_exif_conf_dialog_cb
static void bar_pane_exif_delete_entry_cb(GtkWidget *, gpointer data)
{
auto entry = static_cast<GtkWidget *>(data);
- g_object_unref(entry);
+ gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(entry)), entry);
}
#ifdef HAVE_GTK4
Index: geeqie-2.2/src/bar.cc
===================================================================
--- geeqie-2.2.orig/src/bar.cc
+++ geeqie-2.2/src/bar.cc
@@ -30,6 +30,17 @@
#include "ui-menu.h"
#include "ui-misc.h"
+
+namespace
+{
+
+void remove_child_from_parent(gpointer data)
+{
+ gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(GTK_WIDGET(data))), GTK_WIDGET(data));
+}
+
+}
+
struct KnownPanes
{
PaneType type;
@@ -275,7 +286,7 @@ static void height_spin_key_press_cb(Gtk
{
if ((keyval == GDK_KEY_Return || keyval == GDK_KEY_Escape))
{
- g_object_unref(GTK_WIDGET(data));
+ gq_gtk_widget_destroy(GTK_WIDGET(data));
}
}
@@ -339,7 +350,7 @@ static void bar_expander_height_cb(GtkWi
static void bar_expander_delete_cb(GtkWidget *, gpointer data)
{
auto expander = static_cast<GtkWidget *>(data);
- g_object_unref(expander);
+ gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(expander)), expander);
}
static void bar_expander_add_cb(GtkWidget *widget, gpointer)
@@ -585,7 +596,7 @@ void bar_clear(GtkWidget *bar)
list = gtk_container_get_children(GTK_CONTAINER(bd->vbox));
- g_list_free_full(list, reinterpret_cast<GDestroyNotify>(g_object_unref));
+ g_list_free_full(list, reinterpret_cast<GDestroyNotify>(remove_child_from_parent));
}
void bar_write_config(GtkWidget *bar, GString *outstr, gint indent)
Index: geeqie-2.2/src/collect-table.cc
===================================================================
--- geeqie-2.2.orig/src/collect-table.cc
+++ geeqie-2.2/src/collect-table.cc
@@ -2642,7 +2642,7 @@ static void collection_table_destroy(Gtk
{
g_signal_handlers_disconnect_matched(G_OBJECT(ct->popup), G_SIGNAL_MATCH_DATA,
0, 0, nullptr, nullptr, ct);
- g_object_unref(ct->popup);
+ gq_gtk_widget_destroy(ct->popup);
}
if (ct->sync_idle_id) g_source_remove(ct->sync_idle_id);
Index: geeqie-2.2/src/image.cc
===================================================================
--- geeqie-2.2.orig/src/image.cc
+++ geeqie-2.2/src/image.cc
@@ -2162,7 +2162,7 @@ void image_set_frame(ImageWindow *imd, g
if (imd->frame)
{
gtk_container_remove(GTK_CONTAINER(imd->frame), imd->pr);
- g_object_unref(imd->frame);
+ gtk_container_remove(GTK_CONTAINER(imd->widget), imd->frame);
imd->frame = nullptr;
}
gq_gtk_box_pack_start(GTK_BOX(imd->widget), imd->pr, TRUE, TRUE, 0);
Index: geeqie-2.2/src/pan-view/pan-view-filter.cc
===================================================================
--- geeqie-2.2.orig/src/pan-view/pan-view-filter.cc
+++ geeqie-2.2/src/pan-view/pan-view-filter.cc
@@ -144,7 +144,7 @@ static void pan_filter_kw_button_cb(GtkB
/** @todo (xsdg): Fix filter element pointed object memory leak. */
ui->filter_elements = g_list_delete_link(ui->filter_elements, cb_state->filter_element);
- g_object_unref(GTK_WIDGET(widget));
+ gtk_container_remove(GTK_CONTAINER(gtk_widget_get_parent(GTK_WIDGET(widget))), GTK_WIDGET(widget));
g_free(cb_state);
pan_filter_status(pw, _("Removed keyword…"));
@@ -227,7 +227,7 @@ void pan_filter_toggle_cb(GtkWidget *but
parent = gtk_widget_get_parent(ui->filter_button_arrow);
- g_object_unref(ui->filter_button_arrow);
+ gtk_container_remove(GTK_CONTAINER(parent), ui->filter_button_arrow);
ui->filter_button_arrow = gtk_image_new_from_icon_name(GQ_ICON_PAN_UP, GTK_ICON_SIZE_BUTTON);
gq_gtk_box_pack_start(GTK_BOX(parent), ui->filter_button_arrow, FALSE, FALSE, 0);
@@ -241,7 +241,7 @@ void pan_filter_toggle_cb(GtkWidget *but
parent = gtk_widget_get_parent(ui->filter_button_arrow);
- g_object_unref(ui->filter_button_arrow);
+ gtk_container_remove(GTK_CONTAINER(parent), ui->filter_button_arrow);
ui->filter_button_arrow = gtk_image_new_from_icon_name(GQ_ICON_PAN_DOWN, GTK_ICON_SIZE_BUTTON);
gq_gtk_box_pack_start(GTK_BOX(parent), ui->filter_button_arrow, FALSE, FALSE, 0);
Index: geeqie-2.2/src/pan-view/pan-view-search.cc
===================================================================
--- geeqie-2.2.orig/src/pan-view/pan-view-search.cc
+++ geeqie-2.2/src/pan-view/pan-view-search.cc
@@ -432,7 +432,7 @@ void pan_search_toggle_cb(GtkWidget *but
parent = gtk_widget_get_parent(ui->search_button_arrow);
- g_object_unref(ui->search_button_arrow);
+ gtk_container_remove(GTK_CONTAINER(parent), ui->search_button_arrow);
ui->search_button_arrow = gtk_image_new_from_icon_name(GQ_ICON_PAN_UP, GTK_ICON_SIZE_BUTTON);
gq_gtk_box_pack_start(GTK_BOX(parent), ui->search_button_arrow, FALSE, FALSE, 0);
@@ -446,7 +446,7 @@ void pan_search_toggle_cb(GtkWidget *but
parent = gtk_widget_get_parent(ui->search_button_arrow);
- g_object_unref(ui->search_button_arrow);
+ gtk_container_remove(GTK_CONTAINER(parent), ui->search_button_arrow);
ui->search_button_arrow = gtk_image_new_from_icon_name(GQ_ICON_PAN_DOWN, GTK_ICON_SIZE_BUTTON);
gq_gtk_box_pack_start(GTK_BOX(parent), ui->search_button_arrow, FALSE, FALSE, 0);
Index: geeqie-2.2/src/preferences.cc
===================================================================
--- geeqie-2.2.orig/src/preferences.cc
+++ geeqie-2.2/src/preferences.cc
@@ -1477,7 +1477,7 @@ static void font_response_cb(GtkDialog *
g_free(font);
}
- g_object_unref(dialog);
+ gq_gtk_widget_destroy(GTK_WIDGET(dialog));
}
static void image_overlay_set_font_cb(GtkWidget *widget, gpointer)
@@ -1522,7 +1522,7 @@ static void text_color_response_cb(GtkDi
c_options->image_overlay.text_alpha = color.alpha * 255;
}
- g_object_unref(dialog);
+ gq_gtk_widget_destroy(GTK_WIDGET(dialog));
}
static void image_overlay_set_text_color_cb(GtkWidget *widget, gpointer)
Index: geeqie-2.2/src/ui-misc.cc
===================================================================
--- geeqie-2.2.orig/src/ui-misc.cc
+++ geeqie-2.2/src/ui-misc.cc
@@ -806,7 +806,7 @@ static void date_selection_popup_hide(Da
gtk_widget_hide(ds->window);
- g_object_unref(ds->window);
+ gq_gtk_widget_destroy(ds->window);
ds->window = nullptr;
ds->calendar = nullptr;
Index: geeqie-2.2/src/ui-utildlg.cc
===================================================================
--- geeqie-2.2.orig/src/ui-utildlg.cc
+++ geeqie-2.2/src/ui-utildlg.cc
@@ -534,7 +534,7 @@ static gboolean appimage_notification_cl
if (appimage_data->window)
{
- g_object_unref(appimage_data->window);
+ gq_gtk_widget_destroy(appimage_data->window);
}
g_thread_pool_free(appimage_data->thread_pool, TRUE, TRUE);
Index: geeqie-2.2/src/utilops.cc
===================================================================
--- geeqie-2.2.orig/src/utilops.cc
+++ geeqie-2.2/src/utilops.cc
@@ -1980,8 +1980,7 @@ static void file_util_warn_op_in_progres
static void file_util_details_dialog_close_cb(GtkWidget *, gpointer data)
{
- g_object_unref(GTK_WIDGET(data));
-
+ gq_gtk_widget_destroy(GTK_WIDGET(data));
}
static void file_util_details_dialog_destroy_cb(GtkWidget *widget, gpointer data)
Index: geeqie-2.2/src/view-dir.cc
===================================================================
--- geeqie-2.2.orig/src/view-dir.cc
+++ geeqie-2.2/src/view-dir.cc
@@ -130,7 +130,7 @@ static void vd_destroy_cb(GtkWidget *wid
{
g_signal_handlers_disconnect_matched(G_OBJECT(vd->popup), G_SIGNAL_MATCH_DATA,
0, 0, nullptr, nullptr, vd);
- g_object_unref(vd->popup);
+ gq_gtk_widget_destroy(vd->popup);
}
switch (vd->type)
Index: geeqie-2.2/src/view-file/view-file-icon.cc
===================================================================
--- geeqie-2.2.orig/src/view-file/view-file-icon.cc
+++ geeqie-2.2/src/view-file/view-file-icon.cc
@@ -368,7 +368,7 @@ static void tip_show(ViewFile *vf)
static void tip_hide(ViewFile *vf)
{
- if (VFICON(vf)->tip_window) g_object_unref(VFICON(vf)->tip_window);
+ if (VFICON(vf)->tip_window) gq_gtk_widget_destroy(VFICON(vf)->tip_window);
VFICON(vf)->tip_window = nullptr;
}
Index: geeqie-2.2/src/view-file/view-file.cc
===================================================================
--- geeqie-2.2.orig/src/view-file/view-file.cc
+++ geeqie-2.2/src/view-file/view-file.cc
@@ -828,7 +828,7 @@ static void vf_destroy_cb(GtkWidget *wid
{
g_signal_handlers_disconnect_matched(G_OBJECT(vf->popup), G_SIGNAL_MATCH_DATA,
0, 0, nullptr, nullptr, vf);
- g_object_unref(vf->popup);
+ gq_gtk_widget_destroy(vf->popup);
}
if (vf->read_metadata_in_idle_id)

View File

@ -1,25 +0,0 @@
From fef4012de70dc468b00c7d07549f7b447cf47f13 Mon Sep 17 00:00:00 2001
From: Colin Clark <colin.clark@cclark.uk>
Date: Wed, 7 Feb 2024 16:20:11 +0000
Subject: [PATCH] Fix #1242: Renaming files results in a crash
https://github.com/BestImageViewer/geeqie/issues/1242
Fix bug from GTK4: Reduce the use of gtk_widget_destroy() 6d72bf20cc
---
src/ui-tree-edit.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ui-tree-edit.cc b/src/ui-tree-edit.cc
index 2921d0de..c63dcd40 100644
--- a/src/ui-tree-edit.cc
+++ b/src/ui-tree-edit.cc
@@ -38,7 +38,7 @@ static void tree_edit_close(TreeEditData *ted)
gdk_keyboard_ungrab(GDK_CURRENT_TIME);
gdk_pointer_ungrab(GDK_CURRENT_TIME);
- g_object_unref(ted->window);
+ gq_gtk_widget_destroy(ted->window);
g_free(ted->old_name);
g_free(ted->new_name);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:899ac33b801e0e83380f79e9094bc2615234730ccf6a02d93fd6da3e6f8cfe94
size 2169096

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEkexAAiYgEnbirc7H0NpvRMk20doFAmWyPHUACgkQ0NpvRMk2
0drW1RAApsl53/LyYgzsthXIHYnVGJ3WXbxssLnGIssMZRJOP2qNh0dVhs57bh4F
OC3ITgHa4DaExtNJIfcO1+wZIrpnekv2dSnEthLNwzzlDtD+zPGTsAyPImnaunmv
BUNY3Q/qR0KTkMzzbMQuOaBulMtgoAB+Sg/BV7bp/GVDvN1MOZN1/C1NQs7QNeun
jWohbLLoYog4rQmAwFKjqTbOfeyV8iQSq/Yji7P7gxgshdT7owKJGOXdD7Lbugql
TGRbRSHRk64EDXTqAK4o31KKrgWtLKvlTapA+R3tlmVotyTW1n7qG/5lq9Azrxf/
BgraK/FllRZWVQWxyhVGXiScDeDGSZ9PvqHT4RBAakthRPaUDSeccmbHsWkj3tLD
V8LeZIarFTi/YWAqPqVi7ZtY4QRvSfccZ3UMFRRi5QknRe8jtbyYeZfUMlNvOjKe
W9fN53aL9x9RQNkWb6ESo1zeyAJPv/mjIosZ/B86tFr6Tp+P3TJoNLeFymGkrhPT
eaEwifGz2jKrSLLUcywEwubErdh5fi1M/HmKhl1pxGX0LSfO88W356KFOM8l5VD6
+A2cMxSm58gEP93Yc8fJBOYiBK3TEnezR8U6h/hnB4B7XRlJUFiR8e2nep+R7kF+
aux8g2VH0GF3O58E+G0RZBiu+MDIU7+OGtnOCjdJvVBz1av+Qkc=
=jyQf
-----END PGP SIGNATURE-----

3
geeqie-2.4.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f2b7d1290786fdd1afec09bbe0217f327ff1ee7c80363563e8a108d03aec77da
size 2178572

16
geeqie-2.4.tar.xz.asc Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEkexAAiYgEnbirc7H0NpvRMk20doFAmX+39wACgkQ0NpvRMk2
0dpknxAArFcgw/PZ4+mqFLjj1Lf7G/dUU57MrGJ8Pe5vdrRrHDfaDtdDHHgintZW
G62AMiLn9OfcU4oDnWNEOSNKOrxcZTT+h5jHnAl1Hpvbctb+Jzx8W6vFcLucmeC5
0XgJlw1J5YbEcIQgGHgS+aETa//bcuoHpHzuIPEp6v96FssoccTQtpwhmEtgUztY
sXSLx8g8XK6BVMyGDDTdQ971hCW1ZxDF4ld5Bq9FldoVzQW77p0twZuphodv/9BP
NFyQEyoxI1fY3IjTF2XglcMS4ONXIlvy9QYHxCxlEyV5zMiH4xCxXeVoZycqWgNC
NPI8kFIBcugIG3E7uTBXQbOJIPL0Dqp7seZcDnPIUALKYE3gxswIiswBsNsDvj5i
Tw4pg+d6R/FUTZM86Ht5awRvRGKyOABVpv4x5RUMMQfLQzRB8GzahnG4nILmG1LZ
Hwth7CYTDBCEvnoBEyi0O6TmP80sp4A8YMknY7TTjf25gx82NP8YPwfmsAL3tKVX
EcvIUeHf9/m6SUNmnhTa53KoljCxBkEKn1VG50I9Dw1fv1ZQeWVjjzthr0PiCYj7
ejcqlAEOICg9y/QSXN9smhl4MaVJuomiE6IYwEkqAv5hN2XFptkf3xTuWuEr5Hwy
7HX89VMrd4HxPPVlItqap0tFNrMPwDe2gjI3aUpkC+UYwgN3fFM=
=8CQo
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,15 @@
-------------------------------------------------------------------
Mon Mar 25 07:00:58 UTC 2024 - ming li <mli@suse.com>
- Update to version 2.4:
* Bug fixes (mainly packaging) and code improvements
* Removed previous geeqie-2.2-fix-filelist-crash.patch and
geeqie-2.2-fix-rename-crash.patch
update to version 2.3:
* Bug fixes and code improvements
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 1 10:53:10 UTC 2024 - Michael Vetter <mvetter@suse.com> Fri Mar 1 10:53:10 UTC 2024 - Michael Vetter <mvetter@suse.com>

View File

@ -17,7 +17,7 @@
Name: geeqie Name: geeqie
Version: 2.2 Version: 2.4
Release: 0 Release: 0
Summary: Lightweight Gtk+ based image viewer Summary: Lightweight Gtk+ based image viewer
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -26,10 +26,6 @@ URL: http://www.geeqie.org
Source0: https://github.com/BestImageViewer/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz Source0: https://github.com/BestImageViewer/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
Source1: https://github.com/BestImageViewer/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz.asc Source1: https://github.com/BestImageViewer/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz.asc
Source2: geeqie.keyring Source2: geeqie.keyring
# PATCH-FIX-UPSTREAM - gh/BestImageViewer/geeqie#1248
Patch0: geeqie-2.2-fix-filelist-crash.patch
# PATCH-FIX-UPSTREAM - gh/BestImageViewer/geeqie#1242
Patch1: https://github.com/BestImageViewer/geeqie/commit/fef4012de70dc468b00c7d07549f7b447cf47f13.patch#/geeqie-2.2-fix-rename-crash.patch
BuildRequires: c++_compiler BuildRequires: c++_compiler
BuildRequires: docbook_4 BuildRequires: docbook_4
BuildRequires: doxygen BuildRequires: doxygen