From afd036875ddd1bc5ca13c3b1ac353f81187df194 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Sat, 22 Oct 2005 05:10:46 +0000 Subject: [PATCH] 2005-10-22 Jim Evins * src/glabels.c: (main): * src/splash.c: (gl_splash): Removed some small memory leaks. * gtk-doc.make: Added. git-svn-id: https://glabels.svn.sourceforge.net/svnroot/glabels/trunk@552 f5e0f49d-192f-0410-a22d-a8d8700d0965 --- glabels2/ChangeLog | 8 +++ glabels2/gtk-doc.make | 153 +++++++++++++++++++++++++++++++++++++++++ glabels2/src/glabels.c | 15 ++-- glabels2/src/splash.c | 20 +++--- 4 files changed, 180 insertions(+), 16 deletions(-) create mode 100644 glabels2/gtk-doc.make diff --git a/glabels2/ChangeLog b/glabels2/ChangeLog index ace3b3df..b19ea71b 100644 --- a/glabels2/ChangeLog +++ b/glabels2/ChangeLog @@ -1,3 +1,11 @@ +2005-10-22 Jim Evins + + * src/glabels.c: (main): + * src/splash.c: (gl_splash): + Removed some small memory leaks. + * gtk-doc.make: + Added. + 2005-09-19 Jim Evins * data/glade/property-bar.glade: diff --git a/glabels2/gtk-doc.make b/glabels2/gtk-doc.make new file mode 100644 index 00000000..91cdd34d --- /dev/null +++ b/glabels2/gtk-doc.make @@ -0,0 +1,153 @@ +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### + +if GTK_DOC_USE_LIBTOOL +GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) +else +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) +endif + +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +EXTRA_DIST = \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE)-sections.txt \ + $(DOC_MODULE)-overrides.txt + +DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS) + +if ENABLE_GTK_DOC +all-local: html-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) + @echo '*** Scanning header files ***' + @-chmod -R u+w $(srcdir) + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + cd $(srcdir) && \ + gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt + @echo '*** Rebuilding template files ***' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) + touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +#### xml #### + +sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml $(expand_content_files) + @echo '*** Building XML ***' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" $(MKDB_OPTIONS) + touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo '*** Building HTML ***' + @-chmod -R u+w $(srcdir) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + @echo '-- Fixing Crossreferences' + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp +else +all-local: +endif + +############## + +clean-local: + rm -f *~ *.bak + rm -rf .libs + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +install-data-local: + installfiles=`echo $(srcdir)/html/*`; \ + if test "$$installfiles" = '$(srcdir)/html/*'; \ + then echo '-- Nothing to install' ; \ + else \ + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + fi + +uninstall-local: + rm -f $(DESTDIR)$(TARGET_DIR)/* + +# +# Require gtk-doc when making dist +# +if ENABLE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + -cp $(srcdir)/xml/*.xml $(distdir)/xml + -cp $(srcdir)/html/* $(distdir)/html + if test -f $(srcdir)/$(DOC_MODULE).types; then \ + cp $(srcdir)/$(DOC_MODULE).types $(distdir)/$(DOC_MODULE).types; \ + fi + +.PHONY : dist-hook-local diff --git a/glabels2/src/glabels.c b/glabels2/src/glabels.c index 7461047c..01fe8186 100644 --- a/glabels2/src/glabels.c +++ b/glabels2/src/glabels.c @@ -43,10 +43,7 @@ /*========================================================*/ /* Private macros and constants. */ /*========================================================*/ -#define ICON_PIXMAP gnome_program_locate_file (NULL,\ - GNOME_FILE_DOMAIN_APP_PIXMAP,\ - "glabels.png",\ - FALSE, NULL) +#define ICON_PIXMAP_FILE "glabels.png" /*========================================================*/ /* Private globals */ @@ -74,6 +71,7 @@ main (int argc, char **argv) { GValue value = { 0, }; GnomeProgram *program; + gchar *icon_file; GnomeClient *client; poptContext ctx; char **args; @@ -96,14 +94,17 @@ main (int argc, char **argv) gl_splash (); /* Set default icon */ - if (!g_file_test (ICON_PIXMAP, G_FILE_TEST_EXISTS)) + icon_file = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + ICON_PIXMAP_FILE, FALSE, NULL); + if (!g_file_test (icon_file, G_FILE_TEST_EXISTS)) { - g_warning ("Could not find %s", ICON_PIXMAP); + g_warning ("Could not find %s", ICON_PIXMAP_FILE); } else { - gnome_window_icon_set_default_from_file (ICON_PIXMAP); + gnome_window_icon_set_default_from_file (icon_file); } + g_free (icon_file); /* Initialize subsystems */ gl_debug_init (); diff --git a/glabels2/src/splash.c b/glabels2/src/splash.c index a4eb2963..3c46e445 100644 --- a/glabels2/src/splash.c +++ b/glabels2/src/splash.c @@ -32,10 +32,7 @@ #include #include -#define SPLASH_PIXMAP gnome_program_locate_file (NULL,\ - GNOME_FILE_DOMAIN_APP_PIXMAP,\ - "glabels/glabels-splash.png",\ - FALSE, NULL) +#define SPLASH_PIXMAP_FILE "glabels/glabels-splash.png" #define SPLASH_TIMEOUT 2000 @@ -50,7 +47,8 @@ static gint splash_timeout (gpointer not_used); void gl_splash (void) { - GtkWidget *wimage, *wvbox, *whbox, *wframe1, *wframe2; + gchar *splash_pixmap_file; + GtkWidget *wimage, *wvbox, *wframe1, *wframe2; gchar *label; GdkPixbuf *pixbuf; GError *gerror = NULL; @@ -68,18 +66,22 @@ gl_splash (void) wvbox = gtk_vbox_new (FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (wvbox), 2); - whbox = gtk_hbox_new (FALSE, 5); + splash_pixmap_file = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_PIXMAP, + SPLASH_PIXMAP_FILE, + FALSE, NULL); - if (!g_file_test (SPLASH_PIXMAP, G_FILE_TEST_EXISTS)) { - g_warning ("Could not find %s", SPLASH_PIXMAP); + if (!g_file_test (splash_pixmap_file, G_FILE_TEST_EXISTS)) { + g_warning ("Could not find %s", SPLASH_PIXMAP_FILE); } - pixbuf = gdk_pixbuf_new_from_file (SPLASH_PIXMAP, &gerror); + pixbuf = gdk_pixbuf_new_from_file (splash_pixmap_file, &gerror); if (gerror != NULL) { g_warning ("cannot open splash pixbuf: %s", gerror->message ); gtk_widget_destroy (splash); return; } + g_free (splash_pixmap_file); wimage = gtk_image_new_from_pixbuf (pixbuf); + g_object_unref (G_OBJECT (pixbuf)); gtk_container_add (GTK_CONTAINER (splash), wframe1); gtk_container_add (GTK_CONTAINER (wframe1), wframe2); -- 2.39.5