Bug#870749: glade FTBFS with glib 2.53.4
Adrian Bunk
bunk at debian.org
Fri Aug 4 18:34:47 UTC 2017
Source: glade
Version: 3.20.0-2
Severity: serious
Tags: patch buster sid
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/glade.html
...
glade-signal-model.c:68:1: error: conflicting types for 'g_ptr_array_find'
g_ptr_array_find (GPtrArray *array, gpointer data)
^~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:31:0,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from glade-signal-model.h:23,
from glade-signal-model.c:23:
/usr/include/glib-2.0/glib/garray.h:186:12: note: previous declaration of 'g_ptr_array_find' was here
gboolean g_ptr_array_find (GPtrArray *haystack,
^~~~~~~~~~~~~~~~
Makefile:1210: recipe for target 'libgladeui_2_la-glade-signal-model.lo' failed
make[4]: *** [libgladeui_2_la-glade-signal-model.lo] Error 1
The upstream fix is attached.
-------------- next part --------------
>From 8a73d114ca5b4d37a770d0b6b69dd17a366dbcf4 Mon Sep 17 00:00:00 2001
From: Jonh Wendell <jonh.wendell at redhat.com>
Date: Thu, 4 May 2017 11:05:48 -0300
Subject: Use g_ptr_array_find() from GLib
https://bugzilla.gnome.org/show_bug.cgi?id=782161
---
configure.ac | 2 ++
gladeui/glade-signal-model.c | 30 ++++++++++--------------------
2 files changed, 12 insertions(+), 20 deletions(-)
diff --git a/configure.ac b/configure.ac
index ac59f096..db7487ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -146,8 +146,10 @@ dnl ================================================================
dnl Check for gtk+
dnl ================================================================
GTK_REQUIRED=3.20.0
+GLIB_REQUIRED=2.53.2
PKG_CHECK_MODULES([GTK],[
gtk+-3.0 >= $GTK_REQUIRED
+ glib-2.0 >= $GLIB_REQUIRED
gmodule-2.0
libxml-2.0 >= 2.4.0
])
diff --git a/gladeui/glade-signal-model.c b/gladeui/glade-signal-model.c
index 2b383e51..4d1a8a40 100644
--- a/gladeui/glade-signal-model.c
+++ b/gladeui/glade-signal-model.c
@@ -64,18 +64,6 @@ G_DEFINE_TYPE_WITH_CODE (GladeSignalModel, glade_signal_model, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
gtk_tree_drag_source_iface_init))
-static gint
-g_ptr_array_find (GPtrArray *array, gpointer data)
-{
- gint i;
- for (i = 0; i < array->len; i++)
- {
- if (array->pdata[i] == data)
- return i;
- }
- return -1;
-}
-
static void
glade_signal_model_init (GladeSignalModel *object)
{
@@ -524,13 +512,11 @@ glade_signal_model_get_path (GtkTreeModel *model, GtkTreeIter *iter)
{
if (handlers)
{
- gint handler_index = g_ptr_array_find (handlers, handler);
- if (handler_index == -1) /* dummy handler */
- {
- index1 += handlers->len;
- }
- else
+ guint handler_index;
+ if (g_ptr_array_find (handlers, handler, &handler_index))
index1 += handler_index;
+ else
+ index1 += handlers->len;
}
break;
}
@@ -582,7 +568,8 @@ glade_signal_model_get_value (GtkTreeModel *model,
{
GPtrArray *handlers = g_hash_table_lookup (sig_model->priv->signals,
glade_signal_get_name (signal));
- if (!handlers || !handlers->len || g_ptr_array_find (handlers, signal) == 0)
+ guint index;
+ if (!handlers || !handlers->len || (g_ptr_array_find (handlers, signal, &index) && index == 0))
g_value_set_boolean (value, TRUE);
else
g_value_set_boolean (value, FALSE);
@@ -718,7 +705,10 @@ glade_signal_model_iter_next (GtkTreeModel *model, GtkTreeIter *iter)
}
else if (handlers)
{
- gint new_index = g_ptr_array_find (handlers, handler) + 1;
+ guint new_index = 0;
+ if (g_ptr_array_find (handlers, handler, &new_index))
+ new_index++;
+
if (new_index < handlers->len)
{
glade_signal_model_create_signal_iter (sig_model, widget,
--
2.11.0
More information about the pkg-gnome-maintainers
mailing list