[Xfce4-commits] <libxfce4ui:master> Move the visibility-alias stuff back in.

Nick Schermer noreply at xfce.org
Thu Oct 22 12:30:01 CEST 2009


Updating branch refs/heads/master
         to 91eedf0fba005fdafff622843c64d4593a15dbb9 (commit)
       from c06777f98999a3a7f077eacacc83998b36924da0 (commit)

commit 91eedf0fba005fdafff622843c64d4593a15dbb9
Author: Nick Schermer <nick at xfce.org>
Date:   Thu Oct 22 12:18:13 2009 +0200

    Move the visibility-alias stuff back in.
    
    Also fix some wrong usage of CFLAGS and include libxfce4util
    in the libxfce4ui.h header, we did this in gui4 too so this
    makes porting easier.

 configure.in.in                      |   40 +++++++++
 glade/Makefile.am                    |    7 +-
 libxfce4kbd-private/xfce-shortcuts.c |    4 +-
 libxfce4ui/Makefile.am               |   21 ++++-
 libxfce4ui/libxfce4ui-config.c       |    6 ++
 libxfce4ui/libxfce4ui.h              |    2 +
 libxfce4ui/libxfce4ui.symbols        |   80 ++++++++++++++----
 libxfce4ui/make-libxfce4ui-alias.pl  |  155 ++++++++++++++++++++++++++++++++++
 libxfce4ui/xfce-dialogs.c            |    6 ++
 libxfce4ui/xfce-dialogs.h            |    2 +-
 libxfce4ui/xfce-gdk-extensions.c     |    6 ++
 libxfce4ui/xfce-gtk-extensions.c     |    6 ++
 libxfce4ui/xfce-heading.c            |    6 ++
 libxfce4ui/xfce-sm-client.c          |   24 ++++--
 libxfce4ui/xfce-spawn.c              |    6 ++
 libxfce4ui/xfce-titled-dialog.c      |    6 ++
 16 files changed, 344 insertions(+), 33 deletions(-)

diff --git a/configure.in.in b/configure.in.in
index 5e53f84..7158fba 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -200,6 +200,45 @@ dnl *** Check for linker optimizations ***
 dnl **************************************
 XDT_FEATURE_LINKER_OPTS()
 
+dnl ****************************************
+dnl *** Check for ELF visibility support ***
+dnl ****************************************
+AC_ARG_ENABLE([visibility],
+              AC_HELP_STRING([--disable-visibility],
+                             [Do not use ELF visibility attributes]),
+              [enable_visibility=$enableval], [enable_visibility=yes])
+have_gnuc_visibility=no
+if test "x$enable_visibility" != "xno"; then
+  XDT_SUPPORTED_FLAGS([xdt_vis_test_cflags], [-Wall -Werror -Wno-unused-parameter])
+  saved_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS $xdt_vis_test_cflags"
+  AC_MSG_CHECKING([whether $CC supports the GNUC visibility attribute])
+  AC_COMPILE_IFELSE(AC_LANG_SOURCE(
+  [
+    void test_default (void);
+    void test_hidden (void);
+    void __attribute__ ((visibility("default"))) test_default (void) {}
+    void __attribute__ ((visibility("hidden"))) test_hidden (void) {}
+    int main (int argc, char **argv) {
+      test_default ();
+      test_hidden ();
+      return 0;
+    }
+  ]),
+  [
+    have_gnuc_visibility=yes
+    AC_MSG_RESULT([yes])
+  ],
+  [
+    AC_MSG_RESULT([no])
+  ])
+  CFLAGS="$saved_CFLAGS"
+fi
+if test "x$have_gnuc_visibility" = "xyes"; then
+  CPPFLAGS="$CPPFLAGS -DHAVE_GNUC_VISIBILITY"
+fi
+AM_CONDITIONAL([HAVE_GNUC_VISIBILITY], [test "x$have_gnuc_visibility" = "xyes"])
+
 dnl *************************************
 dnl *** Compensate for broken gtk-doc ***
 dnl *************************************
@@ -269,4 +308,5 @@ else
 echo "* X11 session management:    yes"
 fi
 echo "* Debug support:             $enable_debug"
+echo "* GNU Visibility:            $have_gnuc_visibility"
 echo
diff --git a/glade/Makefile.am b/glade/Makefile.am
index 997467c..b19e357 100644
--- a/glade/Makefile.am
+++ b/glade/Makefile.am
@@ -23,16 +23,19 @@ libxfce4uiglade_la_SOURCES  = \
 
 libxfce4uiglade_la_CFLAGS = \
 	$(GLADEUI_CFLAGS) \
+	$(LIBXFCE4UTIL_CFLAGS) \
 	$(PLATFORM_CFLAGS)
 
 libxfce4uiglade_la_LDFLAGS = \
 	-no-undefined \
 	-avoid-version \
-	-module
+	-module \
+	$(PLATFORM_LDFLAGS)
 
 libxfce4uiglade_la_LIBADD = \
 	$(top_builddir)/libxfce4ui/libxfce4ui-1.la \
-	$(GLADEUI_CFLAGS)
+	$(LIBXFCE4UTIL_LIBS) \
+	$(GLADEUI_LIBS)
 
 ##
 ## Glade catalog xml file
diff --git a/libxfce4kbd-private/xfce-shortcuts.c b/libxfce4kbd-private/xfce-shortcuts.c
index 7ebc078..2a8da39 100644
--- a/libxfce4kbd-private/xfce-shortcuts.c
+++ b/libxfce4kbd-private/xfce-shortcuts.c
@@ -108,8 +108,8 @@ xfce_shortcut_conflict_dialog (const gchar *owner,
 
         response = xfce_message_dialog (NULL, title, GTK_STOCK_DIALOG_QUESTION,
                                         title, secondary_text,
-                                        XFCE_BUTTON_TYPE_MIXED, NULL, owner_button_text, GTK_RESPONSE_ACCEPT, 
-                                        XFCE_BUTTON_TYPE_MIXED, NULL, other_button_text, GTK_RESPONSE_REJECT, 
+                                        XFCE_BUTTON_TYPE_MIXED, NULL, owner_button_text, GTK_RESPONSE_ACCEPT,
+                                        XFCE_BUTTON_TYPE_MIXED, NULL, other_button_text, GTK_RESPONSE_REJECT,
                                         NULL);
 
         g_free (other_button_text);
diff --git a/libxfce4ui/Makefile.am b/libxfce4ui/Makefile.am
index eb2ede0..e234cbe 100644
--- a/libxfce4ui/Makefile.am
+++ b/libxfce4ui/Makefile.am
@@ -28,6 +28,8 @@ libxfce4ui_headers = \
 	$(libxfce4ui_enum_headers)
 
 libxfce4ui_built_sources = \
+	libxfce4ui-alias.h \
+	libxfce4ui-aliasdef.c \
 	libxfce4ui-enum-types.c \
 	libxfce4ui-enum-types.h \
 	libxfce4ui-marshal.c \
@@ -98,8 +100,15 @@ DISTCLEANFILES = \
 BUILT_SOURCES = \
 	$(libxfce4ui_built_sources)
 
-TESTS = \
-	abicheck.sh
+if HAVE_GNUC_VISIBILITY
+TESTS = abicheck.sh
+endif
+
+libxfce4ui-alias.h: make-libxfce4ui-alias.pl libxfce4ui.symbols
+	$(AM_V_GEN) $(PERL) $(srcdir)/make-libxfce4ui-alias.pl < $(srcdir)/libxfce4ui.symbols > libxfce4ui-alias.h
+
+libxfce4ui-aliasdef.c: make-libxfce4ui-alias.pl libxfce4ui.symbols
+	$(AM_V_GEN) $(PERL) $(srcdir)/make-libxfce4ui-alias.pl -def < $(srcdir)/libxfce4ui.symbols > libxfce4ui-aliasdef.c
 
 libxfce4ui-marshal.h: stamp-libxfce4ui-marshal.h
 	@true
@@ -129,11 +138,12 @@ stamp-libxfce4ui-enum-types.h: $(libxfce4ui_enum_headers) Makefile
 	echo timestamp > $(@F)
 libxfce4ui-enum-types.c: $(libxfce4ui_enum_headers) Makefile
 	$(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
-		--fhead "#include <libxfce4ui/libxfce4ui.h>\n\n" \
+		--fhead "#include <libxfce4ui/libxfce4ui.h>\n#include <libxfce4ui/libxfce4ui-alias.h>\n\n" \
 		--fprod "/* enumerations from \"@filename@\" */\n\n" \
 		--vhead "GType\n at enum_name@_get_type(void)\n{\n    static GType type = 0;\n\n    if(!type) {\n        static const G at Type@Value values[] = {"\
 		--vprod "            { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
 		--vtail "            { 0, NULL, NULL }\n\t};\n\ttype = g_ at type@_register_static(\"@EnumName@\", values);\n    }\n\n    return type;\n}\n\n" \
+		--ftail "\n#define __LIBXFCE4UI_ENUM_TYPES_C__\n#include <libxfce4ui/libxfce4ui-aliasdef.c>\n" \
 		$(libxfce4ui_enum_headers) ) > xgen-letc
 	cp xgen-letc libxfce4ui-enum-types.c
 	rm -f xgen-letc
@@ -144,6 +154,9 @@ dist-hook: all
 
 EXTRA_DIST = \
 	abicheck.sh \
-	libxfce4ui.symbols
+	libxfce4ui.symbols \
+	libxfce4ui-alias.h \
+	libxfce4ui-aliasdef.c \
+	make-libxfce4ui-alias.pl
 
 # vi:set ts=8 sw=8 noet ai nocindent syntax=automake:
diff --git a/libxfce4ui/libxfce4ui-config.c b/libxfce4ui/libxfce4ui-config.c
index f477540..e5c1b2f 100644
--- a/libxfce4ui/libxfce4ui-config.c
+++ b/libxfce4ui/libxfce4ui-config.c
@@ -23,6 +23,7 @@
 #endif
 
 #include <libxfce4ui/libxfce4ui-config.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 
 
@@ -78,3 +79,8 @@ libxfce4ui_check_version (guint required_major,
     return "Libxfce4ui version too old (micro mismatch)";
   return NULL;
 }
+
+
+
+#define __LIBXFCE4UI_CONFIG_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/libxfce4ui.h b/libxfce4ui/libxfce4ui.h
index f494bc9..1d17782 100644
--- a/libxfce4ui/libxfce4ui.h
+++ b/libxfce4ui/libxfce4ui.h
@@ -21,6 +21,8 @@
 #ifndef __LIBXFCE4UI_H__
 #define __LIBXFCE4UI_H__
 
+#include <libxfce4util/libxfce4util.h>
+
 #define LIBXFCE4UI_INSIDE_LIBXFCE4UI_H
 
 #include <libxfce4ui/libxfce4ui-config.h>
diff --git a/libxfce4ui/libxfce4ui.symbols b/libxfce4ui/libxfce4ui.symbols
index 39288c4..54c7146 100644
--- a/libxfce4ui/libxfce4ui.symbols
+++ b/libxfce4ui/libxfce4ui.symbols
@@ -18,40 +18,84 @@
  * Boston, MA 02111-1307, USA.
  */
 
+/* This file lists all exported symbols. It is used to generate
+ * the gobject.def file used to control exports on Windows and the
+ * libxfce4ui-alias.h/libxfce4ui-aliasdef.c files used to avoid
+ * PLT entries for internal uses of exported functions (see
+ * make-libxfce4ui-alias.pl).
+ *
+ * Every symbol must be included in the right
+ * #ifdef IN_HEADER(sym) #endif and
+ * #ifdef IN_SOURCE(sym) #endif sections.
+ */
+
+#ifdef ALL_FILES
+#define IN_HEADER(x) 1
+#define IN_SOURCE(x) 1
+#endif
+
 /* libxfce4ui-config variables */
+#if IN_HEADER(__LIBXFCE4UI_CONFIG_H__)
+#if IN_SOURCE(__LIBXFCE4UI_CONFIG_C__)
+#ifdef INCLUDE_VARIABLES
 libxfce4ui_major_version
 libxfce4ui_minor_version
 libxfce4ui_micro_version
+#endif
 libxfce4ui_check_version
+#endif
+#endif
 
 /* libxfce4ui-enum-types functions */
+#if IN_HEADER(__LIBXFCE4UI_ENUM_TYPES_H__)
+#if IN_SOURCE(__LIBXFCE4UI_ENUM_TYPES_C__)
 xfce_sm_client_restart_style_get_type
 xfce_sm_client_priority_get_type
 xfce_sm_client_shutdown_hint_get_type
+#endif
+#endif
 
 /* xfce-dialogs functions */
-xfce_dialog_show_info
-xfce_dialog_show_warning
-xfce_dialog_show_error
-xfce_dialog_confirm
-xfce_message_dialog_new
-xfce_message_dialog_new_valist
-xfce_message_dialog
+#if IN_HEADER(__XFCE_DIALOGS_H__)
+#if IN_SOURCE(__XFCE_DIALOGS_C__)
+xfce_dialog_show_info G_GNUC_PRINTF (3, 4)
+xfce_dialog_show_warning G_GNUC_PRINTF (3, 4)
+xfce_dialog_show_error G_GNUC_PRINTF (3, 4)
+xfce_dialog_confirm G_GNUC_PRINTF (5, 6)
+xfce_message_dialog_new G_GNUC_NULL_TERMINATED G_GNUC_MALLOC
+xfce_message_dialog_new_valist G_GNUC_MALLOC
+xfce_message_dialog G_GNUC_NULL_TERMINATED
+#endif
+#endif
 
 /* xfce-gdk-extensions functions */
+#if IN_HEADER(__XFCE_GDK_EXTENSIONS_H__)
+#if IN_SOURCE(__XFCE_GDK_EXTENSIONS_C__)
 xfce_gdk_screen_get_active
+#endif
+#endif
 
 /* xfce-gtk-extensions functions */
-xfce_gtk_button_new_mixed
-xfce_gtk_frame_box_new
-xfce_gtk_frame_box_new_with_content
+#if IN_HEADER(__XFCE_GTK_EXTENSIONS_H__)
+#if IN_SOURCE(__XFCE_GTK_EXTENSIONS_C__)
+xfce_gtk_button_new_mixed G_GNUC_MALLOC
+xfce_gtk_frame_box_new G_GNUC_MALLOC
+xfce_gtk_frame_box_new_with_content G_GNUC_MALLOC
 xfce_gtk_window_center_on_active_screen
+#endif
+#endif
 
 /* xfce-spawn functions */
+#if IN_HEADER(__XFCE_SPAWN_H__)
+#if IN_SOURCE(__XFCE_SPAWN_C__)
 xfce_spawn_on_screen
 xfce_spawn_command_line_on_screen
+#endif
+#endif
 
 /* xfce-sm-client functions */
+#if IN_HEADER(__XFCE_SM_CLIENT_H__)
+#if IN_SOURCE(__XFCE_SM_CLIENT_C__)
 xfce_sm_client_get_type
 xfce_sm_client_get_option_group
 xfce_sm_client_get
@@ -63,8 +107,6 @@ xfce_sm_client_is_connected
 xfce_sm_client_is_resumed
 xfce_sm_client_set_desktop_file
 xfce_sm_client_request_shutdown
-xfce_sm_client_get_current_directory
-xfce_sm_client_set_current_directory
 xfce_sm_client_get_client_id
 xfce_sm_client_get_state_file
 xfce_sm_client_set_restart_style
@@ -73,10 +115,18 @@ xfce_sm_client_set_priority
 xfce_sm_client_get_priority
 xfce_sm_client_set_restart_command
 xfce_sm_client_get_restart_command
+xfce_sm_client_set_current_directory
+xfce_sm_client_get_current_directory
+#endif
+#endif
 
 /* xfce-titled-dialog functions */
-xfce_titled_dialog_get_type
-xfce_titled_dialog_new
-xfce_titled_dialog_new_with_buttons
+#if IN_HEADER(__XFCE_TITLED_DIALOG_H__)
+#if IN_SOURCE(__XFCE_TITLED_DIALOG_C__)
+xfce_titled_dialog_get_type G_GNUC_CONST
+xfce_titled_dialog_new G_GNUC_MALLOC
+xfce_titled_dialog_new_with_buttons G_GNUC_MALLOC
 xfce_titled_dialog_get_subtitle
 xfce_titled_dialog_set_subtitle
+#endif
+#endif
diff --git a/libxfce4ui/make-libxfce4ui-alias.pl b/libxfce4ui/make-libxfce4ui-alias.pl
new file mode 100644
index 0000000..abae0a6
--- /dev/null
+++ b/libxfce4ui/make-libxfce4ui-alias.pl
@@ -0,0 +1,155 @@
+#!/usr/bin/env perl -w
+#
+# Copyright (c) 2004 The GLib Development Team.
+# Copyright (c) 2005 Benedikt Meurer <benny at xfce.org>.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library 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
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+#
+
+my $option_def = 0;
+
+if (($#ARGV >= 0) && ($ARGV[0] eq "-def"))
+  {
+    shift;
+    $option_def = 1;
+  }
+
+print <<EOF;
+/* Generated by make-libxfce4ui-alias.pl. Do not edit this file. */
+
+#ifdef HAVE_GNUC_VISIBILITY
+
+#include <glib.h>
+
+EOF
+
+if ($option_def)
+  {
+    print <<EOF
+#undef IN_HEADER
+#define IN_HEADER(x) 1
+
+#undef IN_SOURCE
+#define IN_SOURCE defined
+
+EOF
+  }
+else
+  {
+    print <<EOF
+#define IN_HEADER defined
+#define IN_SOURCE(x) 1
+
+EOF
+  }
+
+my $in_comment = 0;
+my $in_skipped_section = 0;
+
+while (<>)
+  {
+    # ignore empty lines
+    next if /^\s*$/;
+
+    # skip comments
+    if ($_ =~ /^\s*\/\*/)
+      {
+        $in_comment = 1;
+      }
+
+    if ($in_comment)
+      {
+        if ($_ =~  /\*\/\s$/)
+          {
+            $in_comment = 0;
+          }
+        next;
+      }
+
+    # handle ifdefs
+    if ($_ =~ /^\#endif/)
+      {
+        if (!$in_skipped_section)
+          {
+            print $_;
+          }
+
+        $in_skipped_section = 0;
+        next;
+      }
+
+    if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
+      {
+        $in_skipped_section = 1;
+      }
+
+    if ($in_skipped_section)
+      {
+        next;
+      }
+
+    if ($_ =~ /^\#ifn?def\s+G/)
+      {
+        print $_;
+        next;
+      }
+
+    if ($_ =~ /^\#if.*(IN_SOURCE|IN_HEADER)/)
+      {
+        print $_;
+        next;
+      }
+
+    chop;
+    my $line = $_;
+    my @words;
+    my $attributes = "";
+
+    @words = split (/ /, $line);
+    my $symbol = shift (@words);
+    chomp ($symbol);
+    my $alias = "IA__".$symbol;
+
+    # Drop any Win32 specific .def file syntax,  but keep attributes
+    foreach $word (@words)
+      {
+        $attributes = "$attributes $word" unless $word eq "PRIVATE";
+      }
+
+    if (!$option_def)
+      {
+        print <<EOF
+extern __typeof ($symbol) $alias __attribute((visibility("hidden")))$attributes;
+\#define $symbol $alias
+
+EOF
+      }
+    else
+      {
+        print <<EOF
+\#undef $symbol
+extern __typeof ($symbol) $symbol __attribute((alias("$alias"), visibility("default")));
+
+EOF
+      }
+  }
+
+print <<EOF;
+
+#endif /* HAVE_GNUC_VISIBILITY */
+EOF
+
+
diff --git a/libxfce4ui/xfce-dialogs.c b/libxfce4ui/xfce-dialogs.c
index 4242539..e565ddc 100644
--- a/libxfce4ui/xfce-dialogs.c
+++ b/libxfce4ui/xfce-dialogs.c
@@ -38,6 +38,7 @@
 #include <libxfce4ui/xfce-gtk-extensions.h>
 #include <libxfce4ui/xfce-gdk-extensions.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 
 
@@ -497,3 +498,8 @@ xfce_message_dialog (GtkWindow   *parent,
 
   return response_id;
 }
+
+
+
+#define __XFCE_DIALOGS_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-dialogs.h b/libxfce4ui/xfce-dialogs.h
index 6b3fe32..1f31987 100644
--- a/libxfce4ui/xfce-dialogs.h
+++ b/libxfce4ui/xfce-dialogs.h
@@ -53,7 +53,7 @@ gboolean   xfce_dialog_confirm            (GtkWindow    *parent,
                                            const gchar  *secondary_text,
                                            const gchar  *primary_format,
                                            ...) G_GNUC_PRINTF (5, 6);
-                                     
+
 GtkWidget *xfce_message_dialog_new_valist (GtkWindow   *parent,
                                            const gchar *title,
                                            const gchar *icon_stock_id,
diff --git a/libxfce4ui/xfce-gdk-extensions.c b/libxfce4ui/xfce-gdk-extensions.c
index ac34220..45e9723 100644
--- a/libxfce4ui/xfce-gdk-extensions.c
+++ b/libxfce4ui/xfce-gdk-extensions.c
@@ -29,6 +29,7 @@
 
 #include <libxfce4ui/xfce-gdk-extensions.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 #ifdef GDK_WINDOWING_X11
 #include <gdk/gdkx.h>
@@ -100,3 +101,8 @@ out:
   return gdk_screen_get_default ();
 #endif
 }
+
+
+
+#define __XFCE_GDK_EXTENSIONS_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-gtk-extensions.c b/libxfce4ui/xfce-gtk-extensions.c
index 63cf282..340e7ba 100644
--- a/libxfce4ui/xfce-gtk-extensions.c
+++ b/libxfce4ui/xfce-gtk-extensions.c
@@ -28,6 +28,7 @@
 #include <libxfce4ui/xfce-gtk-extensions.h>
 #include <libxfce4ui/xfce-gdk-extensions.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 /* Xfce frame padding */
 #define PADDING (6)
@@ -195,3 +196,8 @@ xfce_gtk_window_center_on_active_screen (GtkWindow *window)
   /* gtk+ handles the centering of the window properly after resize */
   gtk_window_set_position (window, GTK_WIN_POS_CENTER);
 }
+
+
+
+#define __XFCE_GTK_EXTENSIONS_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-heading.c b/libxfce4ui/xfce-heading.c
index 40805db..34b9b59 100644
--- a/libxfce4ui/xfce-heading.c
+++ b/libxfce4ui/xfce-heading.c
@@ -31,6 +31,7 @@
 
 #include <libxfce4ui/xfce-heading.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 
 
@@ -741,3 +742,8 @@ _xfce_heading_set_title (XfceHeading *heading,
   /* notify listeners */
   g_object_notify (G_OBJECT (heading), "title");
 }
+
+
+
+#define __XFCE_HEADING_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-sm-client.c b/libxfce4ui/xfce-sm-client.c
index b745594..a137f44 100644
--- a/libxfce4ui/xfce-sm-client.c
+++ b/libxfce4ui/xfce-sm-client.c
@@ -60,10 +60,11 @@
 
 #include <libxfce4util/libxfce4util.h>
 
-#include "libxfce4ui-private.h"
-#include "xfce-sm-client.h"
-#include "libxfce4ui-marshal.h"
-#include "libxfce4ui-enum-types.h"
+#include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/xfce-sm-client.h>
+#include <libxfce4ui/libxfce4ui-marshal.h>
+#include <libxfce4ui/libxfce4ui-enum-types.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 #define GsmPriority     "_GSM_Priority"
 #define GsmDesktopFile  "_GSM_DesktopFile"
@@ -362,7 +363,7 @@ xfce_sm_client_class_init(XfceSMClientClass *klass)
                                                NULL, NULL,
                                                g_cclosure_marshal_VOID__VOID,
                                                G_TYPE_NONE, 0);
-    
+
     g_object_class_install_property(gobject_class, PROP_RESUMED,
                                     g_param_spec_boolean("resumed",
                                                          "Resumed",
@@ -453,7 +454,7 @@ xfce_sm_client_get_property(GObject *obj,
         case PROP_CLIENT_ID:
             g_value_set_string(value, sm_client->client_id);
             break;
-            
+
         case PROP_CURRENT_DIRECTORY:
             g_value_set_string(value, sm_client->current_directory);
             break;
@@ -629,7 +630,7 @@ str_from_state(XfceSMClientState state)
             return "FROZEN";
         default:
             return "(unknown)";
-    }   
+    }
 }
 
 static void
@@ -846,7 +847,7 @@ static void
 xsmp_ice_io_error_handler(IceConn connection)
 {
     g_warning("ICE I/O Error");
-    
+
     if(xsmp_ice_installed_handler)
         xsmp_ice_installed_handler(connection);
 }
@@ -2152,7 +2153,7 @@ xfce_sm_client_get_client_id(XfceSMClient *sm_client)
  * On the next application start, this function can be used to
  * check to see if there is any previous saved state, and, if so,
  * the state can be restored from the file.
- * 
+ *
  * This function will use a standard location and naming scheme
  * and handle state cleanup (setting of the discard command) for you.
  *
@@ -2245,3 +2246,8 @@ xfce_sm_client_get_restart_command(XfceSMClient *sm_client)
     g_return_val_if_fail(XFCE_IS_SM_CLIENT(sm_client), NULL);
     return (const gchar * const *)sm_client->restart_command;
 }
+
+
+
+#define __XFCE_SM_CLIENT_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-spawn.c b/libxfce4ui/xfce-spawn.c
index 91ec977..2ba5fc5 100644
--- a/libxfce4ui/xfce-spawn.c
+++ b/libxfce4ui/xfce-spawn.c
@@ -44,6 +44,7 @@
 #include <libxfce4ui/xfce-spawn.h>
 #include <libxfce4ui/xfce-gdk-extensions.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 /* the maximum time for an application to startup */
 #define XFCE_SPAWN_STARTUP_TIMEOUT (30 * 1000)
@@ -409,3 +410,8 @@ xfce_spawn_command_line_on_screen (GdkScreen    *screen,
 
   return succeed;
 }
+
+
+
+#define __XFCE_SPAWN_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>
diff --git a/libxfce4ui/xfce-titled-dialog.c b/libxfce4ui/xfce-titled-dialog.c
index fea4ab5..ffc8a2d 100644
--- a/libxfce4ui/xfce-titled-dialog.c
+++ b/libxfce4ui/xfce-titled-dialog.c
@@ -31,6 +31,7 @@
 #include <libxfce4ui/xfce-heading.h>
 #include <libxfce4ui/xfce-titled-dialog.h>
 #include <libxfce4ui/libxfce4ui-private.h>
+#include <libxfce4ui/libxfce4ui-alias.h>
 
 
 #define XFCE_TITLED_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFCE_TYPE_TITLED_DIALOG, XfceTitledDialogPrivate))
@@ -355,3 +356,8 @@ xfce_titled_dialog_set_subtitle (XfceTitledDialog *titled_dialog,
   /* notify listeners */
   g_object_notify (G_OBJECT (titled_dialog), "subtitle");
 }
+
+
+
+#define __XFCE_TITLED_DIALOG_C__
+#include <libxfce4ui/libxfce4ui-aliasdef.c>



More information about the Xfce4-commits mailing list