1d0825bca7fe65beaee391d30da42e937db621564Steve Block/*
2d0825bca7fe65beaee391d30da42e937db621564Steve Block *  Copyright (C) 2008 Collabora Ltd.
3d0825bca7fe65beaee391d30da42e937db621564Steve Block *  Copyright (C) 2009 Martin Robinson
4d0825bca7fe65beaee391d30da42e937db621564Steve Block *
5d0825bca7fe65beaee391d30da42e937db621564Steve Block *  This library is free software; you can redistribute it and/or
6d0825bca7fe65beaee391d30da42e937db621564Steve Block *  modify it under the terms of the GNU Lesser General Public
7d0825bca7fe65beaee391d30da42e937db621564Steve Block *  License as published by the Free Software Foundation; either
8d0825bca7fe65beaee391d30da42e937db621564Steve Block *  version 2 of the License, or (at your option) any later version.
9d0825bca7fe65beaee391d30da42e937db621564Steve Block *
10d0825bca7fe65beaee391d30da42e937db621564Steve Block *  This library is distributed in the hope that it will be useful,
11d0825bca7fe65beaee391d30da42e937db621564Steve Block *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12d0825bca7fe65beaee391d30da42e937db621564Steve Block *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13d0825bca7fe65beaee391d30da42e937db621564Steve Block *  Lesser General Public License for more details.
14d0825bca7fe65beaee391d30da42e937db621564Steve Block *
15d0825bca7fe65beaee391d30da42e937db621564Steve Block *  You should have received a copy of the GNU Lesser General Public
16d0825bca7fe65beaee391d30da42e937db621564Steve Block *  License along with this library; if not, write to the Free Software
17d0825bca7fe65beaee391d30da42e937db621564Steve Block *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18d0825bca7fe65beaee391d30da42e937db621564Steve Block */
19d0825bca7fe65beaee391d30da42e937db621564Steve Block
20d0825bca7fe65beaee391d30da42e937db621564Steve Block#include "config.h"
21d0825bca7fe65beaee391d30da42e937db621564Steve Block#include "GRefPtrGtk.h"
22d0825bca7fe65beaee391d30da42e937db621564Steve Block
23d0825bca7fe65beaee391d30da42e937db621564Steve Block#include <glib.h>
24d0825bca7fe65beaee391d30da42e937db621564Steve Block#include <gtk/gtk.h>
25d0825bca7fe65beaee391d30da42e937db621564Steve Block
26d0825bca7fe65beaee391d30da42e937db621564Steve Blocknamespace WTF {
27d0825bca7fe65beaee391d30da42e937db621564Steve Block
28cad810f21b803229eb11403f9209855525a25d57Steve Blocktemplate <> GtkTargetList* refGPtr(GtkTargetList* ptr)
29d0825bca7fe65beaee391d30da42e937db621564Steve Block{
30d0825bca7fe65beaee391d30da42e937db621564Steve Block    if (ptr)
31d0825bca7fe65beaee391d30da42e937db621564Steve Block        gtk_target_list_ref(ptr);
32d0825bca7fe65beaee391d30da42e937db621564Steve Block    return ptr;
33d0825bca7fe65beaee391d30da42e937db621564Steve Block}
34d0825bca7fe65beaee391d30da42e937db621564Steve Block
35cad810f21b803229eb11403f9209855525a25d57Steve Blocktemplate <> void derefGPtr(GtkTargetList* ptr)
36d0825bca7fe65beaee391d30da42e937db621564Steve Block{
37d0825bca7fe65beaee391d30da42e937db621564Steve Block    if (ptr)
38d0825bca7fe65beaee391d30da42e937db621564Steve Block        gtk_target_list_unref(ptr);
39d0825bca7fe65beaee391d30da42e937db621564Steve Block}
40d0825bca7fe65beaee391d30da42e937db621564Steve Block
4165f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#ifdef GTK_API_VERSION_2
42cad810f21b803229eb11403f9209855525a25d57Steve Blocktemplate <> GdkCursor* refGPtr(GdkCursor* ptr)
43d0825bca7fe65beaee391d30da42e937db621564Steve Block{
44d0825bca7fe65beaee391d30da42e937db621564Steve Block    if (ptr)
45d0825bca7fe65beaee391d30da42e937db621564Steve Block        gdk_cursor_ref(ptr);
46d0825bca7fe65beaee391d30da42e937db621564Steve Block    return ptr;
47d0825bca7fe65beaee391d30da42e937db621564Steve Block}
48d0825bca7fe65beaee391d30da42e937db621564Steve Block
49cad810f21b803229eb11403f9209855525a25d57Steve Blocktemplate <> void derefGPtr(GdkCursor* ptr)
50d0825bca7fe65beaee391d30da42e937db621564Steve Block{
51d0825bca7fe65beaee391d30da42e937db621564Steve Block    if (ptr)
52d0825bca7fe65beaee391d30da42e937db621564Steve Block        gdk_cursor_unref(ptr);
53d0825bca7fe65beaee391d30da42e937db621564Steve Block}
5465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben Murdoch#endif
55d0825bca7fe65beaee391d30da42e937db621564Steve Block
56d0825bca7fe65beaee391d30da42e937db621564Steve Block}
57