Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

Hello,

It was reported (#837081) that notably netbeans would crash on
some operations due to java-atk-wrapper bugs. This was reported as
being fixed by a couple of small patches which have now migrated to
testing. I'd like to upload them to Stretch as attached diff shows.

Samuel

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'stable-debug'), (500, 'oldoldstable'), (500, 
'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 
'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog
index 5747482..9b8e967 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+java-atk-wrapper (0.33.3-13+deb9u1) stretch; urgency=medium
+
+  * debian/patches/iter: Fix iterator initialization.
+  * debian/patches/child_add: Fix missing reference for children
+    (Closes: #837081).
+
+ -- Samuel Thibault <sthiba...@debian.org>  Sun, 11 Dec 2016 13:08:23 +0100
+
 java-atk-wrapper (0.33.3-13) unstable; urgency=medium
 
   * patches/thread-daemon: Make JAW thread a daemon so that JVM termination 
does
diff --git a/debian/patches/child_add b/debian/patches/child_add
new file mode 100644
index 0000000..26b6dae
--- /dev/null
+++ b/debian/patches/child_add
@@ -0,0 +1,16 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=793622
+---
+ jni/src/AtkWrapper.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/jni/src/AtkWrapper.c
++++ b/jni/src/AtkWrapper.c
+@@ -683,6 +683,8 @@ signal_emit_handler (gpointer p)
+                             "children_changed::add",
+                             child_index,
+                             para->child_impl);
++        if (G_OBJECT(atk_obj) != NULL)
++          g_object_ref(G_OBJECT(atk_obj));
+         break;
+       }
+       case Sig_Object_Children_Changed_Remove:
diff --git a/debian/patches/iter b/debian/patches/iter
new file mode 100644
index 0000000..ad3e892
--- /dev/null
+++ b/debian/patches/iter
@@ -0,0 +1,34 @@
+https://bugzilla.gnome.org/show_bug.cgi?id=793620
+
+---
+ jni/src/AtkWrapper.c |    2 ++
+ jni/src/jawimpl.c    |   11 +++++------
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+--- a/jni/src/jawimpl.c
++++ b/jni/src/jawimpl.c
+@@ -546,19 +546,18 @@ jaw_impl_finalize(GObject *gobject)
+   jaw_obj->acc_context = NULL;
+ 
+   /* Interface finalize */
+-  GHashTableIter *iter = NULL;
+-  gpointer *key = NULL;
+-  gpointer *value = NULL;
++  GHashTableIter iter;
++  gpointer value;
+ 
+-  g_hash_table_iter_init(iter, jaw_impl->ifaceTable);
+-  while (g_hash_table_iter_next(iter, key, value))
++  g_hash_table_iter_init(&iter, jaw_impl->ifaceTable);
++  while (g_hash_table_iter_next(&iter, NULL, &value))
+   {
+     JawInterfaceInfo *info = (JawInterfaceInfo*)value;
+     info->finalize(info->data);
+ 
+     g_free(info);
+ 
+-    g_hash_table_iter_remove(iter);
++    g_hash_table_iter_remove(&iter);
+   }
+   if (jaw_impl->ifaceTable != NULL)
+   {
diff --git a/debian/patches/series b/debian/patches/series
index 2b34236..a22f971 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,5 @@ getAccessibleContextNull
 init
 getAccessibleStateSetNull
 thread-daemon
+iter
+child_add

Reply via email to