mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-19 01:53:23 +00:00
Use a compatibility header to support GLib 2.28
Signed-off-by: Frediano Ziglio <fziglio@redhat.com> Acked-by: Pavel Grunt <pgrunt@redhat.com>
This commit is contained in:
parent
4121547ba8
commit
5feb1d0379
@ -162,6 +162,7 @@ libserver_la_SOURCES = \
|
||||
dcc-private.h \
|
||||
image-encoders.c \
|
||||
image-encoders.h \
|
||||
glib-compat.h \
|
||||
$(spice_built_sources) \
|
||||
$(NULL)
|
||||
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
#include "char-device.h"
|
||||
#include "red-channel.h"
|
||||
#include "reds.h"
|
||||
#include "glib-compat.h"
|
||||
|
||||
#define CHAR_DEVICE_WRITE_TO_TIMEOUT 100
|
||||
#define RED_CHAR_DEVICE_WAIT_TOKENS_TIMEOUT 30000
|
||||
|
||||
47
server/glib-compat.h
Normal file
47
server/glib-compat.h
Normal file
@ -0,0 +1,47 @@
|
||||
/* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/*
|
||||
Copyright (C) 2016 Red Hat, Inc.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library 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
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef GLIB_COMPAT_H_
|
||||
#define GLIB_COMPAT_H_
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
#if !GLIB_CHECK_VERSION(2,32,0)
|
||||
static inline void
|
||||
g_queue_free_full(GQueue *queue, GDestroyNotify free_func)
|
||||
{
|
||||
/* quite hack cast but work with standard C call convention */
|
||||
g_queue_foreach(queue, (GFunc) free_func, NULL);
|
||||
g_queue_clear(queue);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !GLIB_CHECK_VERSION(2,30,0)
|
||||
static inline gboolean
|
||||
g_queue_remove_boolean(GQueue *queue, gconstpointer data)
|
||||
{
|
||||
GList *link = g_queue_find(queue, data);
|
||||
if (!link) {
|
||||
return FALSE;
|
||||
}
|
||||
g_queue_unlink(queue, link);
|
||||
return TRUE;
|
||||
}
|
||||
#define g_queue_remove g_queue_remove_boolean
|
||||
#endif
|
||||
|
||||
#endif /* GLIB_COMPAT_H_ */
|
||||
@ -36,6 +36,7 @@
|
||||
#include "red-channel-client.h"
|
||||
#include "red-channel-client-private.h"
|
||||
#include "red-channel.h"
|
||||
#include "glib-compat.h"
|
||||
|
||||
static const SpiceDataHeaderOpaque full_header_wrapper;
|
||||
static const SpiceDataHeaderOpaque mini_header_wrapper;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user