PSPP_REQUIRED_PREREQ([glib-compile-resources (or use --without-gui)])
fi
+ dnl g_memdup2 has been introduced in glib 2.67.3. Older versions need
+ dnl a workaround
+ AC_CHECK_LIB(glib-2.0, g_memdup2, [AC_DEFINE([HAVE_G_MEMDUP2], [1], [g_memdup2 check])])
+
fi
gl_NEXT_HEADERS([gtk/gtk.h])
--- /dev/null
+/* PSPPIRE - a graphical user interface for PSPP.
+ Copyright (C) 2022 Free Software Foundation
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef __GLIBFIX_H__
+#define __GLIBFIX_H__
+
+#include <config.h>
+
+/* Workaround for g_memdup2 which is introduced in glib 2.67.3
+ for earlier versions of glib
+ Taken from:
+ https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1927
+*/
+
+#ifndef HAVE_G_MEMDUP2
+static inline gpointer
+g_memdup2 (gconstpointer mem,
+ gsize byte_size)
+{
+ gpointer new_mem;
+
+ if (mem && byte_size != 0)
+ {
+ new_mem = g_malloc (byte_size);
+ memcpy (new_mem, mem, byte_size);
+ }
+ else
+ new_mem = NULL;
+
+ return new_mem;
+}
+#endif
+
+#endif
/* PSPPIRE - a graphical user interface for PSPP.
Copyright (C) 2007, 2009, 2010, 2011, 2012, 2014, 2016,
- 2020 Free Software Foundation
+ 2020, 2022 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "helper.h"
#include <ui/syntax-gen.h>
+#include "ui/gui/glibfix.h"
#include "gettext.h"
#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
-
/* This might need to be changed to something less naive.
In particular, what happends with dates, etc?
*/
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2012 Free Software Foundation
+ Copyright (C) 2012, 2022 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include <config.h>
#include "ui/gui/psppire-format.h"
+#include "ui/gui/glibfix.h"
static gpointer
psppire_format_copy (gpointer boxed)
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2011, 2014 Free Software Foundation
+ Copyright (C) 2011, 2014, 2022 Free Software Foundation
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "psppire-val-chooser.h"
#include "libpspp/str.h"
-
+#include "ui/gui/glibfix.h"
#include "ui/syntax-gen.h"