From a71ff332660a7d6c155eb04c92936c618ae80cf8 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 2 Feb 2015 09:28:22 +0100 Subject: [PATCH] gdk: Add support for g_autoptr() https://bugzilla.gnome.org/show_bug.cgi?id=743640 --- gdk/Makefile.am | 1 + gdk/gdk-autocleanup.h | 42 +++++++++++++++++++++++++++++++++++++ gdk/gdk.h | 2 ++ gdk/x11/gdkx-autocleanups.h | 39 ++++++++++++++++++++++++++++++++++ gdk/x11/gdkx.h | 2 ++ 5 files changed, 86 insertions(+) create mode 100644 gdk/gdk-autocleanup.h create mode 100644 gdk/x11/gdkx-autocleanups.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 2a0352b838..684a01d97d 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -61,6 +61,7 @@ LDADD = \ # gdk_public_h_sources = \ gdk.h \ + gdk-autocleanup.h \ gdkapplaunchcontext.h \ gdkcairo.h \ gdkcursor.h \ diff --git a/gdk/gdk-autocleanup.h b/gdk/gdk-autocleanup.h new file mode 100644 index 0000000000..b867e01950 --- /dev/null +++ b/gdk/gdk-autocleanup.h @@ -0,0 +1,42 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * 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 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 . + */ + +#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GI_SCANNER__ + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkAppLaunchContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkCursor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDevice, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDeviceManager, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDisplay, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDisplayManager, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkDragContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkFrameClock, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkGLContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkKeymap, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkScreen, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkVisual, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkWindow, g_object_unref) + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkEvent, gdk_event_free) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkFrameTimings, gdk_frame_timings_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkRGBA, gdk_rgba_free) + +#endif diff --git a/gdk/gdk.h b/gdk/gdk.h index 6b442ce2ab..65246d7788 100644 --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -62,6 +62,8 @@ #include #endif +#include + #undef __GDK_H_INSIDE__ #endif /* __GDK_H__ */ diff --git a/gdk/x11/gdkx-autocleanups.h b/gdk/x11/gdkx-autocleanups.h new file mode 100644 index 0000000000..edb0ea7dbf --- /dev/null +++ b/gdk/x11/gdkx-autocleanups.h @@ -0,0 +1,39 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * 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 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 . + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GI_SCANNER__ + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11AppLaunchContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Cursor, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceCore, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerCore, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceManagerXI2, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DeviceXI2, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Display, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DisplayManager, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11DragContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11GLContext, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Keymap, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Screen, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Visual, g_object_unref) +G_DEFINE_AUTOPTR_CLEANUP_FUNC(GdkX11Window, g_object_unref) + +#endif diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 1aa5f7e33d..ae05fa6b1f 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -52,6 +52,8 @@ #include #include +#include + #undef __GDKX_H_INSIDE__ #endif /* __GDK_X_H__ */