Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ghex for openSUSE:Factory checked in 
at 2025-11-06 18:13:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghex (Old)
 and      /work/SRC/openSUSE:Factory/.ghex.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghex"

Thu Nov  6 18:13:20 2025 rev:80 rq:1315782 version:48.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghex/ghex.changes        2025-09-01 
17:18:11.250933716 +0200
+++ /work/SRC/openSUSE:Factory/.ghex.new.1980/ghex.changes      2025-11-06 
18:15:00.195978451 +0100
@@ -1,0 +2,12 @@
+Tue Nov  4 18:09:02 UTC 2025 - Bjørn Lie <[email protected]>
+
+- Update to version 48.3:
+  + This is a bugfix release that contains a stability fix for
+    lengthy, and subsequently cancelled, find/replace operations.
+  + Changes and bugfixes since 48.1:
+    - findrep: Cancelling find ops should allow to search again
+      right away
+    - lib: Fix lifetimes issue with threaded find/rep operations
+  + This release includes libgtkhex 4.10.1.
+
+-------------------------------------------------------------------

Old:
----
  ghex-48.1.obscpio

New:
----
  ghex-48.3.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghex.spec ++++++
--- /var/tmp/diff_new_pack.jXI0ff/_old  2025-11-06 18:15:00.812004440 +0100
+++ /var/tmp/diff_new_pack.jXI0ff/_new  2025-11-06 18:15:00.816004609 +0100
@@ -22,7 +22,7 @@
 %define soname libgtkhex-%{ghex_abi}-%{so_ver}
 
 Name:           ghex
-Version:        48.1
+Version:        48.3
 Release:        0
 Summary:        GNOME Binary Editor
 License:        GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.jXI0ff/_old  2025-11-06 18:15:00.864006634 +0100
+++ /var/tmp/diff_new_pack.jXI0ff/_new  2025-11-06 18:15:00.868006803 +0100
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param name="url">https://gitlab.gnome.org/GNOME/ghex.git</param>
-    <param name="revision">48.1</param>
+    <param name="revision">48.3</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ ghex-48.1.obscpio -> ghex-48.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/.gitlab-ci.yml new/ghex-48.3/.gitlab-ci.yml
--- old/ghex-48.1/.gitlab-ci.yml        2025-08-29 21:12:20.000000000 +0200
+++ new/ghex-48.3/.gitlab-ci.yml        2025-11-04 17:48:42.000000000 +0100
@@ -5,18 +5,15 @@
     inputs:
       dist-job-name: "flatpak"
 
-variables: #<1.>
-  FLATPAK_MODULE: "ghex"
-
 flatpak:
   extends: '.flatpak'
+  dependencies: []
   variables:
+    FLATPAK_MODULE: "ghex"
     MANIFEST_PATH: "org.gnome.GHex.Devel.json"
-    RUNTIME_REPO: 'https://sdk.gnome.org/gnome-nightly.flatpakrepo'
     APP_ID: "org.gnome.GHex.Devel"
     BUNDLE: "ghex-dev.flatpak"
 
 nightly:
   extends: '.publish_nightly'
-  dependencies: ['flatpak']
   needs: ['flatpak']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/NEWS new/ghex-48.3/NEWS
--- old/ghex-48.1/NEWS  2025-08-29 21:12:20.000000000 +0200
+++ new/ghex-48.3/NEWS  2025-11-04 17:48:42.000000000 +0100
@@ -1,4 +1,30 @@
 =========
+GHex 48.3
+=========
+
+This version contains no code changes since 48.2 - it simply contains a CI
+update to fix the generation of tarballs.
+
+Due to the nature of this fix, there is no tarball for GHex 48.2.
+
+Changes and bugfixes since 48.2:
+- ci fixes (Logan Rathbone; thanks to alatiera).
+
+=========
+GHex 48.2
+=========
+
+This is a bugfix release that contains a stability fix for lengthy, and
+subsequently cancelled, find/replace operations.
+
+Changes and bugfixes since 48.1
+- findrep: Cancelling find ops should allow to search again right away (Logan
+  Rathbone)
+- lib: Fix lifetimes issue with threaded find/rep operations (Logan Rathbone)
+
+This release includes libgtkhex 4.10.1
+
+=========
 GHex 48.1
 =========
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/data/org.gnome.GHex.metainfo.xml.in.in 
new/ghex-48.3/data/org.gnome.GHex.metainfo.xml.in.in
--- old/ghex-48.1/data/org.gnome.GHex.metainfo.xml.in.in        2025-08-29 
21:12:20.000000000 +0200
+++ new/ghex-48.3/data/org.gnome.GHex.metainfo.xml.in.in        2025-11-04 
17:48:42.000000000 +0100
@@ -30,6 +30,8 @@
     <kudo>UserDocs</kudo>
   </kudos>
   <releases>
+    <release version="48.3" date="2025-11-04" />
+    <release version="48.2" date="2025-10-30" />
     <release version="48.1" date="2025-08-29" />
     <release version="48.0" date="2025-08-16" />
   </releases>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/meson.build new/ghex-48.3/meson.build
--- old/ghex-48.1/meson.build   2025-08-29 21:12:20.000000000 +0200
+++ new/ghex-48.3/meson.build   2025-11-04 17:48:42.000000000 +0100
@@ -1,6 +1,6 @@
 project(
   'ghex', 'c',
-  version: '48.1',
+  version: '48.3',
   meson_version: '>=0.59.0',
   license: 'GPL2'
 )
@@ -39,7 +39,7 @@
 libgtkhex_api_version   = 4
 libgtkhex_version_major = 1  # for soname (ABI major version) only
 libgtkhex_version_minor = 10
-libgtkhex_version_micro = 0
+libgtkhex_version_micro = 1
 libgtkhex_version = '@0@.@1@.@2@'.format(libgtkhex_api_version, 
libgtkhex_version_minor, libgtkhex_version_micro)
 
 ghex_prefix = get_option('prefix')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/org.gnome.GHex.Devel.json 
new/ghex-48.3/org.gnome.GHex.Devel.json
--- old/ghex-48.1/org.gnome.GHex.Devel.json     2025-08-29 21:12:20.000000000 
+0200
+++ new/ghex-48.3/org.gnome.GHex.Devel.json     2025-11-04 17:48:42.000000000 
+0100
@@ -4,7 +4,6 @@
     "runtime-version": "master",
     "sdk": "org.gnome.Sdk",
     "command": "ghex",
-    "branch": "master",
     "finish-args": [
         "--device=dri",
         "--share=ipc",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/src/findreplace.c 
new/ghex-48.3/src/findreplace.c
--- old/ghex-48.1/src/findreplace.c     2025-08-29 21:12:20.000000000 +0200
+++ new/ghex-48.3/src/findreplace.c     2025-11-04 17:48:42.000000000 +0100
@@ -203,8 +203,12 @@
 {
        FindDialog *self = FIND_DIALOG(user_data);
        FindDialogPrivate *f_priv = find_dialog_get_instance_private (self);
+       PaneDialogPrivate *priv = pane_dialog_get_instance_private 
(PANE_DIALOG(self));
 
        g_cancellable_cancel (f_priv->cancellable);
+
+       mark_gh_busy (priv->gh, FALSE);
+       pane_dialog_update_busy_state (PANE_DIALOG(self));
 }
 
 static void
@@ -287,7 +291,7 @@
         * an error, but not much we can do to report a search error anyway.
         */
        if (! find_data)
-               goto out;
+               return;
 
        flags = search_flags_from_checkboxes (f_priv);
 
@@ -317,8 +321,6 @@
        }
        mark_gh_busy (priv->gh, FALSE);
        pane_dialog_update_busy_state (PANE_DIALOG(self));
-out:
-       g_object_unref (task);
 }
 
 static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ghex-48.1/src/hex-document.c 
new/ghex-48.3/src/hex-document.c
--- old/ghex-48.1/src/hex-document.c    2025-08-29 21:12:20.000000000 +0200
+++ new/ghex-48.3/src/hex-document.c    2025-11-04 17:48:42.000000000 +0100
@@ -809,7 +809,7 @@
                else
                        g_task_return_boolean (task, FALSE);
 
-               goto cleanup;
+               return;
        }
 
        /* Initialize data for new doc */
@@ -820,9 +820,6 @@
 
        g_signal_emit (G_OBJECT(doc), hex_signals[FILE_LOADED], 0);
        g_task_return_boolean (task, TRUE);
-
-cleanup:
-       g_object_unref (task);
 }
 
 /**
@@ -969,8 +966,6 @@
                else
                        g_task_return_boolean (doc_task, FALSE);
        }
-
-       g_object_unref (doc_task);      /* g_task_return_* takes a ref. */
 }
 
 /**
@@ -1424,6 +1419,33 @@
        return retval;
 }
 
+gboolean
+find_forward_full_helper (HexDocument *doc,
+               HexDocumentFindData *find_data,
+               GCancellable *cancellable)
+{
+       gint64 pos;
+       gint64 payload = hex_buffer_get_payload_size (
+                       hex_document_get_buffer (doc));
+
+       g_return_val_if_fail (find_data != NULL, FALSE);
+
+       pos = find_data->start;
+       while (pos < payload)
+       {
+               if (g_cancellable_is_cancelled (cancellable))
+                       return FALSE;
+
+               if (hex_document_compare_data_full (doc, find_data, pos) == 0)
+               {
+                       find_data->offset = pos;
+                       return TRUE;
+               }
+               pos++;
+       }
+
+       return FALSE;
+}
 /**
  * hex_document_find_forward_full:
  * @find_data: a #HexDocumentFindData structure
@@ -1445,24 +1467,7 @@
 hex_document_find_forward_full (HexDocument *doc,
                HexDocumentFindData *find_data)
 {
-       gint64 pos;
-       gint64 payload = hex_buffer_get_payload_size (
-                       hex_document_get_buffer (doc));
-
-       g_return_val_if_fail (find_data != NULL, FALSE);
-
-       pos = find_data->start;
-       while (pos < payload)
-       {
-               if (hex_document_compare_data_full (doc, find_data, pos) == 0)
-               {
-                       find_data->offset = pos;
-                       return TRUE;
-               }
-               pos++;
-       }
-
-       return FALSE;
+       return find_forward_full_helper (doc, find_data, NULL);
 }
 
 /**
@@ -1535,13 +1540,13 @@
  \
        g_return_if_fail (find_data); \
  \
-       find_data->found = FUNC_TO_CALL (doc, find_data); \
+       find_data->found = FUNC_TO_CALL (doc, find_data, cancellable); \
  \
        g_task_return_pointer (task, find_data, g_free); \
 }
 
 FIND_FULL_THREAD_TEMPLATE(hex_document_find_forward_full_thread,
-               hex_document_find_forward_full)
+               find_forward_full_helper)
 
 static void
 hex_document_find_forward_thread (GTask *task,
@@ -1570,9 +1575,9 @@
        GTask *task; \
  \
        task = g_task_new (doc, cancellable, callback, user_data); \
-       g_task_set_return_on_cancel (task, TRUE); \
-       g_task_set_task_data (task, find_data, g_free); \
+       g_task_set_task_data (task, find_data, NULL); \
        g_task_run_in_thread (task, FUNC_TO_CALL); \
+       g_object_unref (task);  /* _run_in_thread takes a ref */ \
 }
 
 /**
@@ -1632,8 +1637,7 @@
        find_data->not_found_msg = not_found_msg; \
  \
        task = g_task_new (doc, cancellable, callback, user_data); \
-       g_task_set_return_on_cancel (task, TRUE); \
-       g_task_set_task_data (task, find_data, g_free); \
+       g_task_set_task_data (task, find_data, NULL); \
        g_task_run_in_thread (task, FUNC_TO_CALL); \
        g_object_unref (task);  /* _run_in_thread takes a ref */ \
 }
@@ -1641,6 +1645,31 @@
 FIND_ASYNC_TEMPLATE(hex_document_find_forward_async,
                hex_document_find_forward_thread)
 
+static gboolean
+find_backward_full_helper (HexDocument *doc,
+               HexDocumentFindData *find_data,
+               GCancellable *cancellable)
+{
+       gint64 pos = find_data->start;
+
+       if (pos == 0)
+               return FALSE;
+
+       do {
+               if (g_cancellable_is_cancelled (cancellable))
+                       return FALSE;
+
+               pos--;
+
+               if (hex_document_compare_data_full (doc, find_data, pos) == 0) {
+                       find_data->offset = pos;
+                       return TRUE;
+               }
+       } while (pos > 0);
+
+       return FALSE;
+}
+
 /**
  * hex_document_find_backward_full:
  * @find_data: a #HexDocumentFindData structure
@@ -1662,20 +1691,7 @@
 hex_document_find_backward_full (HexDocument *doc,
                HexDocumentFindData *find_data)
 {
-       gint64 pos = find_data->start;
-       
-       if (pos == 0)
-               return FALSE;
-
-       do {
-               pos--;
-               if (hex_document_compare_data_full (doc, find_data, pos) == 0) {
-                       find_data->offset = pos;
-                       return TRUE;
-               }
-       } while (pos > 0);
-
-       return FALSE;
+       return find_backward_full_helper (doc, find_data, NULL);
 }
 
 /**
@@ -1718,7 +1734,7 @@
 }
 
 FIND_FULL_THREAD_TEMPLATE(hex_document_find_backward_full_thread,
-               hex_document_find_backward_full)
+               find_backward_full_helper)
 
 static void
 hex_document_find_backward_thread (GTask *task,

++++++ ghex.obsinfo ++++++
--- /var/tmp/diff_new_pack.jXI0ff/_old  2025-11-06 18:15:01.536034986 +0100
+++ /var/tmp/diff_new_pack.jXI0ff/_new  2025-11-06 18:15:01.544035323 +0100
@@ -1,5 +1,5 @@
 name: ghex
-version: 48.1
-mtime: 1756494740
-commit: 045f27298c6cba52dd741b089d488943704c418b
+version: 48.3
+mtime: 1762274922
+commit: c0b6a2ca1f8dc9019d4eb25dcb5c5ebad6752bce
 

Reply via email to