commit gupnp-tools for openSUSE:Factory
Hello community, here is the log from the commit of package gupnp-tools for openSUSE:Factory checked in at Fri Sep 24 01:01:07 CEST 2010. -------- --- GNOME/gupnp-tools/gupnp-tools.changes 2009-10-02 09:25:00.000000000 +0200 +++ /mounts/work_src_done/STABLE/gupnp-tools/gupnp-tools.changes 2010-09-17 09:36:54.000000000 +0200 @@ -1,0 +2,13 @@ +Fri Sep 17 09:33:40 CEST 2010 - vuntz@opensuse.org + +- Update to version 0.8.1: + + Make sure everything builds and runs on windows. + + Add popup menu to playlist treeview. + + Add UI for user to fetch and view the DIDL-Lite XML for media + objects. + + Make it possible for user to select containers. + + Get rid of redundant newline in warning messages. + + Obey the ACLOCAL_FLAGS environment variable. + + Other non-functional improvements. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- gupnp-tools-0.8.tar.bz2 New: ---- gupnp-tools-0.8.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gupnp-tools.spec ++++++ --- /var/tmp/diff_new_pack.0Rtbzg/_old 2010-09-24 01:00:59.000000000 +0200 +++ /var/tmp/diff_new_pack.0Rtbzg/_new 2010-09-24 01:00:59.000000000 +0200 @@ -1,7 +1,7 @@ # -# spec file for package gupnp-tools (Version 0.8) +# spec file for package gupnp-tools (Version 0.8.1) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,10 +18,10 @@ Name: gupnp-tools -Version: 0.8 +Version: 0.8.1 Release: 1 Summary: UPnP tools to test and debug UPnP devices and control points -License: GPL v2 or later +License: GPLv2+ Group: Productivity/Networking/Other Url: http://www.gupnp.org/ Source: %{name}-%{version}.tar.bz2 ++++++ gupnp-tools-0.8.tar.bz2 -> gupnp-tools-0.8.1.tar.bz2 ++++++ ++++ 31949 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/NEWS new/gupnp-tools-0.8.1/NEWS --- old/gupnp-tools-0.8/NEWS 2009-08-31 15:58:58.000000000 +0200 +++ new/gupnp-tools-0.8.1/NEWS 2010-09-16 17:12:37.000000000 +0200 @@ -1,3 +1,27 @@ +0.8.1 +===== + +Changes since 0.8: + +- Make sure everything builds and runs on windows. +- Add popup menu to playlist treeview. +- Add UI for user to fetch and view the DIDL-Lite XML for media objects. +- Make it possible for user to select containers. +- Get rid of redundant newline in warning messages. +- Obey the ACLOCAL_FLAGS environment variable. +- Other non-functional improvements. + +Dependencies changed: + +- Require and adapt to gupnp-av >= 0.5.5 + +All contributors: + +Zeeshan Ali (Khattak) <zeeshanak@gnome.org> +Ross Burton <ross@linux.intel.com> +Jens Georg <mail@jensge.org> +Neil Roberts <neil@linux.intel.com> + 0.8 ==== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/config.h.in new/gupnp-tools-0.8.1/config.h.in --- old/gupnp-tools-0.8/config.h.in 2009-08-26 16:55:00.000000000 +0200 +++ new/gupnp-tools-0.8.1/config.h.in 2010-09-16 17:14:25.000000000 +0200 @@ -51,6 +51,9 @@ /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the <sys/param.h> header file. */ +#undef HAVE_SYS_PARAM_H + /* Define to 1 if you have the <sys/stat.h> header file. */ #undef HAVE_SYS_STAT_H @@ -82,6 +85,9 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/configure.ac new/gupnp-tools-0.8.1/configure.ac --- old/gupnp-tools-0.8/configure.ac 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/configure.ac 2010-09-16 17:12:54.000000000 +0200 @@ -1,5 +1,5 @@ AC_PREREQ(2.53) -AC_INIT(gupnp-tools, 0.8, http://www.gupnp.org/) +AC_INIT(gupnp-tools, 0.8.1, http://www.gupnp.org/) AM_INIT_AUTOMAKE() AC_CONFIG_SRCDIR(src/common/icons.h) AM_CONFIG_HEADER(config.h) @@ -12,18 +12,37 @@ AC_FUNC_MMAP GUPNP_REQUIRED=0.13 -GUPNP_AV_REQUIRED=0.5 +GUPNP_AV_REQUIRED=0.5.5 GTK_REQUIRED=2.16 GTHREAD_REQUIRED=2.12 GIO_REQUIRED=2.12 ICON_THEME_REQUIRED=2.20 +AC_MSG_CHECKING([for Win32]) +case "$host" in + *-*-mingw*) + os_win32=yes + ;; + *) + os_win32=no + ;; +esac +AC_MSG_RESULT([$os_win32]) +AM_CONDITIONAL(OS_WIN32, [test $os_win32 = yes]) + PKG_CHECK_MODULES(LIBGUPNP, gupnp-1.0 >= $GUPNP_REQUIRED) PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED) PKG_CHECK_MODULES(GTHREAD, gthread-2.0 >= $GTHREAD_REQUIRED) PKG_CHECK_MODULES(GNOME_ICON_THEME, gnome-icon-theme >= $ICON_THEME_REQUIRED) PKG_CHECK_MODULES(GIO, gio-2.0 >= $GIO_REQUIRED) +if test "x$os_win32" = "xno"; then + PKG_CHECK_MODULES(UUID, uuid) +else + AC_CHECK_TOOL(WINDRES, windres) + AC_SUBST([UUID_LIBS], ["-lrpcrt4"]) +fi + AC_ARG_WITH( av, AC_HELP_STRING([--disable-av],[Don't build AV tools]), try_av=$withval, try_av=yes ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/data/gupnp-av-cp.ui new/gupnp-tools-0.8.1/data/gupnp-av-cp.ui --- old/gupnp-tools-0.8/data/gupnp-av-cp.ui 2009-05-21 01:45:23.000000000 +0200 +++ new/gupnp-tools-0.8.1/data/gupnp-av-cp.ui 2010-09-01 22:30:20.000000000 +0200 @@ -130,8 +130,8 @@ <object class="GtkVScale" id="volume-vscale"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">adjustment1</property> <property name="update_policy">discontinuous</property> + <property name="adjustment">adjustment1</property> <property name="inverted">True</property> <property name="digits">0</property> <property name="draw_value">False</property> @@ -173,8 +173,8 @@ <object class="GtkHScale" id="position-hscale"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="adjustment">adjustment2</property> <property name="update_policy">discontinuous</property> + <property name="adjustment">adjustment2</property> <property name="digits">0</property> <property name="draw_value">False</property> <signal name="value_changed" handler="on_position_hscale_value_changed"/> @@ -218,8 +218,8 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="can_default">True</property> - <property name="tooltip_text">Clears the CP's idea of the state of the currently selected AV Renderer. Useful for dealing with AV Renderers that don't report state changes.</property> <property name="receives_default">False</property> + <property name="tooltip_text">Clears the CP's idea of the state of the currently selected AV Renderer. Useful for dealing with AV Renderers that don't report state changes.</property> <signal name="clicked" handler="on_clear_state_button_clicked"/> <child> <object class="GtkAlignment" id="alignment14"> @@ -234,7 +234,6 @@ <object class="GtkImage" id="image21"> <property name="visible">True</property> <property name="stock">gtk-clear</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -295,7 +294,6 @@ <object class="GtkImage" id="image16"> <property name="visible">True</property> <property name="stock">gtk-media-play</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -346,7 +344,6 @@ <object class="GtkImage" id="image17"> <property name="visible">True</property> <property name="stock">gtk-media-pause</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -397,7 +394,6 @@ <object class="GtkImage" id="image18"> <property name="visible">True</property> <property name="stock">gtk-media-stop</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -448,7 +444,6 @@ <object class="GtkImage" id="image19"> <property name="visible">True</property> <property name="stock">gtk-media-previous</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -499,7 +494,6 @@ <object class="GtkImage" id="image20"> <property name="visible">True</property> <property name="stock">gtk-media-next</property> - <property name="icon-size">4</property> </object> <packing> <property name="expand">False</property> @@ -590,4 +584,86 @@ <property name="upper">100</property> <property name="step_increment">1</property> </object> + <object class="GtkMenu" id="playlist-popup"> + <property name="visible">True</property> + <child> + <object class="GtkMenuItem" id="play-menuitem"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Play</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_play_button_clicked"/> + </object> + </child> + <child> + <object class="GtkMenuItem" id="didl-menuitem"> + <property name="visible">True</property> + <property name="tooltip_text" translatable="yes">Fetch the DIDL-Lite XML for this media object</property> + <property name="label" translatable="yes">Fetch _DIDL-Lite</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_didl_menuitem_activate"/> + </object> + </child> + </object> + <object class="GtkDialog" id="didl-dialog"> + <property name="width_request">640</property> + <property name="height_request">480</property> + <property name="border_width">5</property> + <property name="title" translatable="yes">GUPnP AV CP - Metadata View</property> + <property name="type_hint">normal</property> + <property name="has_separator">False</property> + <child internal-child="vbox"> + <object class="GtkVBox" id="dialog-vbox3"> + <property name="visible">True</property> + <property name="spacing">2</property> + <child> + <object class="GtkScrolledWindow" id="didl-scrolledwindow"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <child> + <object class="GtkTextView" id="didl-textview"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="editable">False</property> + <property name="wrap_mode">char</property> + </object> + </child> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child internal-child="action_area"> + <object class="GtkHButtonBox" id="didl-action-area"> + <property name="visible">True</property> + <property name="layout_style">end</property> + <child> + <object class="GtkButton" id="didl-close-button"> + <property name="label">gtk-close</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="use_stock">True</property> + <signal name="clicked" handler="gtk_widget_hide" object="didl-dialog"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="pack_type">end</property> + <property name="position">0</property> + </packing> + </child> + </object> + </child> + <action-widgets> + <action-widget response="0">didl-close-button</action-widget> + </action-widgets> + </object> </interface> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/Makefile.am new/gupnp-tools-0.8.1/src/av-cp/Makefile.am --- old/gupnp-tools-0.8/src/av-cp/Makefile.am 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/Makefile.am 2010-06-24 15:40:28.000000000 +0200 @@ -24,11 +24,22 @@ renderer-combo.h \ renderer-controls.h -gupnp_av_cp_LDADD = $(LIBGUPNP_LIBS) \ +gupnp_av_cp_LDADD = ../common/libicons.a \ + $(LIBGUPNP_LIBS) \ $(LIBGUPNP_AV_LIBS) \ $(GTK_LIBS) \ - $(GTHREAD_LIBS) \ - ../common/libicons.a + $(GTHREAD_LIBS) gupnp_av_cp_LDFLAGS = -export-dynamic +if OS_WIN32 +av-cp.res: av-cp.rc + $(WINDRES) -i av-cp.rc --input-format=rc -o av-cp.res -O coff +gupnp_av_cp_LDADD += av-cp.res +BUILT_SOURCES=av-cp.res +CLEAN_FILES=av-cp.res +gupnp_av_cp_LDFLAGS += -Wl,-subsystem,windows +endif + +EXTRA_DIST=av-cp.rc + MAINTAINERCLEANFILES = Makefile.in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/av-cp.rc new/gupnp-tools-0.8.1/src/av-cp/av-cp.rc --- old/gupnp-tools-0.8/src/av-cp/av-cp.rc 1970-01-01 01:00:00.000000000 +0100 +++ new/gupnp-tools-0.8.1/src/av-cp/av-cp.rc 2010-06-24 15:40:28.000000000 +0200 @@ -0,0 +1 @@ +A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../../data/pixmaps/win32/av-cp.ico" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/gui.c new/gupnp-tools-0.8.1/src/av-cp/gui.c --- old/gupnp-tools-0.8/src/av-cp/gui.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/gui.c 2010-06-24 15:40:28.000000000 +0200 @@ -21,6 +21,7 @@ #include <string.h> #include <stdlib.h> #include <config.h> +#include <gmodule.h> #include "gui.h" #include "playlist-treeview.h" @@ -36,6 +37,7 @@ static GtkWidget *main_window; static GtkWidget *about_dialog; +G_MODULE_EXPORT gboolean on_delete_event (GtkWidget *widget, GdkEvent *event, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/main.c new/gupnp-tools-0.8.1/src/av-cp/main.c --- old/gupnp-tools-0.8/src/av-cp/main.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/main.c 2010-09-03 16:38:14.000000000 +0200 @@ -22,6 +22,7 @@ #include <libgupnp-av/gupnp-av.h> #include <string.h> #include <stdlib.h> +#include <gmodule.h> #include "gui.h" #include "renderer-combo.h" @@ -124,6 +125,7 @@ g_object_unref (context_manager); } +G_MODULE_EXPORT void application_exit (void) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/playlist-treeview.c new/gupnp-tools-0.8.1/src/av-cp/playlist-treeview.c --- old/gupnp-tools-0.8/src/av-cp/playlist-treeview.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/playlist-treeview.c 2010-09-01 23:52:46.000000000 +0200 @@ -21,13 +21,13 @@ #include <string.h> #include <stdlib.h> #include <config.h> +#include <gmodule.h> #include "playlist-treeview.h" #include "renderer-combo.h" #include "renderer-controls.h" #include "icons.h" #include "gui.h" -#include "main.h" #define CONTENT_DIR "urn:schemas-upnp-org:service:ContentDirectory" @@ -43,6 +43,9 @@ gpointer user_data); static GtkWidget *treeview; +static GtkWidget *popup; +static GtkWidget *didl_dialog; +static GtkWidget *didl_textview; static gboolean expanded; typedef struct @@ -56,7 +59,7 @@ typedef struct { - GetSelectedItemCallback callback; + MetadataFunc callback; gchar *id; @@ -87,9 +90,9 @@ } static BrowseMetadataData * -browse_metadata_data_new (GetSelectedItemCallback callback, - const char *id, - gpointer user_data) +browse_metadata_data_new (MetadataFunc callback, + const char *id, + gpointer user_data) { BrowseMetadataData *data; @@ -114,12 +117,36 @@ guint32 starting_index, guint32 requested_count); +G_MODULE_EXPORT gboolean on_playlist_treeview_button_release (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { - return FALSE; + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + + if (event->type != GDK_BUTTON_RELEASE || + event->button != 3) + return FALSE; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); + g_assert (selection != NULL); + + /* Only show the popup menu when a row is selected */ + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) + return FALSE; + + gtk_menu_popup (GTK_MENU (popup), + NULL, + NULL, + NULL, + NULL, + event->button, + event->time); + + return TRUE; } static void @@ -132,9 +159,8 @@ if (state == PLAYBACK_STATE_PLAYING || state == PLAYBACK_STATE_PAUSED) { - if (!get_selected_item ((GetSelectedItemCallback) - set_av_transport_uri, - NULL)) { + if (!get_selected_object ((MetadataFunc) set_av_transport_uri, + NULL)) { av_transport_send_action ("Stop", NULL); } } @@ -159,7 +185,7 @@ /* Is container? */ G_TYPE_BOOLEAN, /* childCount */ - G_TYPE_UINT); + G_TYPE_INT); return GTK_TREE_MODEL (store); } @@ -200,6 +226,7 @@ gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); } +G_MODULE_EXPORT void on_playlist_row_expanded (GtkTreeView *tree_view, GtkTreeIter *iter, @@ -220,7 +247,7 @@ GUPnPServiceProxy *content_dir; gchar *id; gboolean is_container; - guint child_count; + gint child_count; gtk_tree_model_get (model, &child_iter, 3, &content_dir, @@ -229,7 +256,7 @@ 6, &child_count, -1); - if (is_container && child_count > 0) { + if (is_container && child_count != 0) { browse (content_dir, id, 0, MAX_BROWSE); } @@ -254,6 +281,7 @@ &child_iter)); } +G_MODULE_EXPORT void on_playlist_row_collapsed (GtkTreeView *tree_view, GtkTreeIter *iter, @@ -275,31 +303,23 @@ } while (gtk_tree_model_iter_next (model, &child_iter)); } -static gboolean -tree_selection_func (GtkTreeSelection *selection, - GtkTreeModel *model, - GtkTreePath *path, - gboolean path_currently_selected, - gpointer data) +static void display_metadata (const char *metadata, + gpointer user_data) { - GtkTreeIter iter; - gboolean is_container; - - if (path_currently_selected) { - return TRUE; - } + GtkTextBuffer *buffer; - if (!gtk_tree_model_get_iter (model, &iter, path)) { - return FALSE; - } + buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (didl_textview)); + gtk_text_buffer_set_text (buffer, metadata, -1); - gtk_tree_model_get (model, - &iter, - 5, &is_container, - -1); + gtk_dialog_run (GTK_DIALOG (didl_dialog)); +} - /* Let it be selected if it's an item */ - return !is_container; +G_MODULE_EXPORT +void +on_didl_menuitem_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + get_selected_object (display_metadata, NULL); } void @@ -312,6 +332,14 @@ "playlist-treeview")); g_assert (treeview != NULL); + popup = GTK_WIDGET (gtk_builder_get_object (builder, "playlist-popup")); + g_assert (popup != NULL); + + didl_dialog = GTK_WIDGET (gtk_builder_get_object (builder, + "didl-dialog")); + didl_textview = GTK_WIDGET (gtk_builder_get_object (builder, + "didl-textview")); + model = create_playlist_treemodel (); g_assert (model != NULL); @@ -326,10 +354,6 @@ "changed", G_CALLBACK (on_item_selected), NULL); - gtk_tree_selection_set_select_function (selection, - tree_selection_func, - NULL, - NULL); expanded = FALSE; } @@ -584,7 +608,7 @@ const char *parent_id; const char *title; gboolean is_container; - uint child_count; + gint child_count; GdkPixbuf *icon; gint position; @@ -751,7 +775,7 @@ if (!gupnp_didl_lite_parser_parse_didl (parser, didl_xml, &error)) { - g_warning ("%s\n", error->message); + g_warning ("%s", error->message); g_error_free (error); } @@ -774,7 +798,7 @@ GUPnPServiceInfo *info; info = GUPNP_SERVICE_INFO (content_dir); - g_warning ("Failed to browse '%s': %s\n", + g_warning ("Failed to browse '%s': %s", gupnp_service_info_get_location (info), error->message); @@ -785,6 +809,44 @@ } static void +browse_metadata_cb (GUPnPServiceProxy *content_dir, + GUPnPServiceProxyAction *action, + gpointer user_data) +{ + BrowseMetadataData *data; + char *metadata; + GError *error; + + data = (BrowseMetadataData *) user_data; + + metadata = NULL; + error = NULL; + + gupnp_service_proxy_end_action (content_dir, + action, + &error, + /* OUT args */ + "Result", + G_TYPE_STRING, + &metadata, + NULL); + if (metadata) { + data->callback (metadata, data->user_data); + + g_free (metadata); + } else if (error) { + g_warning ("Failed to get metadata for '%s': %s", + data->id, + error->message); + + g_error_free (error); + } + + browse_metadata_data_free (data); + g_object_unref (content_dir); +} + +static void browse (GUPnPServiceProxy *content_dir, const char *container_id, guint32 starting_index, @@ -824,6 +886,42 @@ } static void +browse_metadata (GUPnPServiceProxy *content_dir, + const char *id, + MetadataFunc callback, + gpointer user_data) +{ + BrowseMetadataData *data; + + data = browse_metadata_data_new (callback, id, user_data); + + gupnp_service_proxy_begin_action + (g_object_ref (content_dir), + "Browse", + browse_metadata_cb, + data, + /* IN args */ + "ObjectID", + G_TYPE_STRING, + data->id, + "BrowseFlag", + G_TYPE_STRING, + "BrowseMetadata", + "Filter", + G_TYPE_STRING, + "*", + "StartingIndex", + G_TYPE_UINT, + 0, + "RequestedCount", + G_TYPE_UINT, 0, + "SortCriteria", + G_TYPE_STRING, + "", + NULL); +} + +static void append_media_server (GUPnPDeviceProxy *proxy, GtkTreeModel *model, GtkTreeIter *parent_iter) @@ -848,6 +946,7 @@ 1, friendly_name, 2, info, 3, content_dir, + 4, "0", 5, TRUE, -1); g_free (friendly_name); @@ -930,54 +1029,14 @@ } } -void -browse_metadata_cb (GUPnPServiceProxy *content_dir, - GUPnPServiceProxyAction *action, - gpointer user_data) -{ - BrowseMetadataData *data; - char *metadata; - GError *error; - - data = (BrowseMetadataData *) user_data; - - metadata = NULL; - error = NULL; - - gupnp_service_proxy_end_action (content_dir, - action, - &error, - /* OUT args */ - "Result", - G_TYPE_STRING, - &metadata, - NULL); - if (metadata) { - data->callback (metadata, data->user_data); - - g_free (metadata); - } else if (error) { - g_warning ("Failed to get metadata for '%s': %s\n", - data->id, - error->message); - - g_error_free (error); - } - - browse_metadata_data_free (data); - g_object_unref (content_dir); -} - gboolean -get_selected_item (GetSelectedItemCallback callback, - gpointer user_data) +get_selected_object (MetadataFunc callback, + gpointer user_data) { GUPnPServiceProxy *content_dir; GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; - gboolean is_container; - BrowseMetadataData *data; char *id = NULL; gboolean ret = FALSE; @@ -992,42 +1051,12 @@ &iter, 3, &content_dir, 4, &id, - 5, &is_container, -1); - if (is_container) { - goto free_and_return; - } - - data = browse_metadata_data_new (callback, id, user_data); + browse_metadata (g_object_ref (content_dir), id, callback, user_data); - gupnp_service_proxy_begin_action - (g_object_ref (content_dir), - "Browse", - browse_metadata_cb, - data, - /* IN args */ - "ObjectID", - G_TYPE_STRING, - data->id, - "BrowseFlag", - G_TYPE_STRING, - "BrowseMetadata", - "Filter", - G_TYPE_STRING, - "*", - "StartingIndex", - G_TYPE_UINT, - 0, - "RequestedCount", - G_TYPE_UINT, 0, - "SortCriteria", - G_TYPE_STRING, - "", - NULL); ret = TRUE; -free_and_return: if (id) { g_free (id); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/playlist-treeview.h new/gupnp-tools-0.8.1/src/av-cp/playlist-treeview.h --- old/gupnp-tools-0.8/src/av-cp/playlist-treeview.h 2009-04-16 13:25:02.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/playlist-treeview.h 2010-09-01 23:38:07.000000000 +0200 @@ -25,8 +25,8 @@ #include <gtk/gtk.h> #include <libgupnp-av/gupnp-av.h> -typedef void (* GetSelectedItemCallback) (const char *metadata, - gpointer user_data); +typedef void (* MetadataFunc) (const char *metadata, + gpointer user_data); void setup_playlist_treeview (GtkBuilder *builder); @@ -38,7 +38,7 @@ remove_media_server (GUPnPDeviceProxy *proxy); gboolean -get_selected_item (GetSelectedItemCallback callback, +get_selected_object (MetadataFunc callback, gpointer user_data); void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/av-cp/renderer-controls.c new/gupnp-tools-0.8.1/src/av-cp/renderer-controls.c --- old/gupnp-tools-0.8/src/av-cp/renderer-controls.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/av-cp/renderer-controls.c 2010-09-01 23:36:48.000000000 +0200 @@ -22,6 +22,7 @@ #include <stdlib.h> #include <config.h> #include <gtk/gtk.h> +#include <gmodule.h> #include "playlist-treeview.h" #include "renderer-controls.h" @@ -216,6 +217,7 @@ g_object_unref (av_transport); } +G_MODULE_EXPORT gboolean on_volume_vscale_value_changed (GtkRange *range, gpointer user_data); @@ -336,6 +338,7 @@ NULL); } +G_MODULE_EXPORT void on_play_button_clicked (GtkButton *button, gpointer user_data) @@ -346,14 +349,13 @@ if (state == PLAYBACK_STATE_STOPPED || state == PLAYBACK_STATE_UNKNOWN) { - get_selected_item ((GetSelectedItemCallback) - set_av_transport_uri, - play); + get_selected_object ((MetadataFunc) set_av_transport_uri, play); } else { play (); } } +G_MODULE_EXPORT void on_pause_button_clicked (GtkButton *button, gpointer user_data) @@ -361,6 +363,7 @@ av_transport_send_action ("Pause", NULL); } +G_MODULE_EXPORT void on_stop_button_clicked (GtkButton *button, gpointer user_data) @@ -368,6 +371,7 @@ av_transport_send_action ("Stop", NULL); } +G_MODULE_EXPORT void on_next_button_clicked (GtkButton *button, gpointer user_data) @@ -375,6 +379,7 @@ select_next_object (); } +G_MODULE_EXPORT void on_previous_button_clicked (GtkButton *button, gpointer user_data) @@ -382,6 +387,7 @@ select_prev_object (); } +G_MODULE_EXPORT void on_clear_state_button_clicked (GtkButton *button, gpointer user_data) @@ -389,6 +395,7 @@ clear_selected_renderer_state (); } +G_MODULE_EXPORT gboolean on_position_hscale_value_changed (GtkRange *range, gpointer user_data) @@ -661,6 +668,7 @@ g_object_unref (rendering_control); } +G_MODULE_EXPORT gboolean on_volume_vscale_value_changed (GtkRange *range, gpointer user_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/network-light/Makefile.am new/gupnp-tools-0.8.1/src/network-light/Makefile.am --- old/gupnp-tools-0.8/src/network-light/Makefile.am 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/network-light/Makefile.am 2010-06-24 15:40:28.000000000 +0200 @@ -7,6 +7,7 @@ AM_CFLAGS = $(LIBGUPNP_CFLAGS) \ $(GTK_CFLAGS) \ $(GTHREAD_CFLAGS) \ + $(UUID_CFLAGS) \ -I$(top_srcdir) \ -DDATA_DIR='"$(shareddir)"' \ -I$(top_srcdir)/src/common @@ -19,8 +20,19 @@ main.h \ gui.h \ upnp.h -gupnp_network_light_LDADD = $(LIBGUPNP_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) \ - ../common/libicons.a +gupnp_network_light_LDADD = ../common/libicons.a $(LIBGUPNP_LIBS) $(GTK_LIBS) $(GTHREAD_LIBS) $(UUID_LIBS) + gupnp_network_light_LDFLAGS = -export-dynamic +if OS_WIN32 +network-light.res: network-light.rc + $(WINDRES) -i network-light.rc --input-format=rc -o network-light.res -O coff +gupnp_network_light_LDADD += network-light.res +BUILT_SOURCES=network-light.res +CLEAN_FILES=network-light.res +gupnp_network_light_LDFLAGS += -Wl,-subsystem,windows +endif + +EXTRA_DIST=network-light.rc + MAINTAINERCLEANFILES = Makefile.in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/network-light/gui.c new/gupnp-tools-0.8.1/src/network-light/gui.c --- old/gupnp-tools-0.8/src/network-light/gui.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/network-light/gui.c 2010-06-24 15:40:28.000000000 +0200 @@ -21,6 +21,7 @@ #include <string.h> #include <stdlib.h> #include <config.h> +#include <gmodule.h> #include "gui.h" #include "icons.h" @@ -68,6 +69,7 @@ g_object_unref (pixbuf); } +G_MODULE_EXPORT void on_light_status_menuitem_activate (GtkCheckMenuItem *menuitem, gpointer user_data) @@ -75,6 +77,7 @@ set_all_status (gtk_check_menu_item_get_active (menuitem)); } +G_MODULE_EXPORT void on_about_menuitem_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -88,6 +91,7 @@ gtk_widget_show (about_dialog); } +G_MODULE_EXPORT void on_increase_luminance_menuitem_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -95,6 +99,7 @@ set_all_load_level (get_load_level () + 20); } +G_MODULE_EXPORT void on_decrease_luminance_menuitem_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -152,6 +157,7 @@ event->time); } +G_MODULE_EXPORT gboolean on_main_window_button_event (GtkWidget *widget, GdkEventButton *event, @@ -172,6 +178,7 @@ } } +G_MODULE_EXPORT gboolean on_delete_event (GtkWidget *widget, GdkEvent *event, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/network-light/network-light.rc new/gupnp-tools-0.8.1/src/network-light/network-light.rc --- old/gupnp-tools-0.8/src/network-light/network-light.rc 1970-01-01 01:00:00.000000000 +0100 +++ new/gupnp-tools-0.8.1/src/network-light/network-light.rc 2010-06-24 15:40:28.000000000 +0200 @@ -0,0 +1 @@ +A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../../data/pixmaps/win32/network-light.ico" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/network-light/upnp.c new/gupnp-tools-0.8.1/src/network-light/upnp.c --- old/gupnp-tools-0.8/src/network-light/upnp.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/network-light/upnp.c 2010-06-24 15:40:28.000000000 +0200 @@ -25,7 +25,13 @@ #include <stdio.h> #include <locale.h> #include <string.h> +#include <gmodule.h> +#ifndef G_OS_WIN32 #include <uuid/uuid.h> +#else +#include <rpc.h> +typedef UUID uuid_t; +#endif #include <glib/gstdio.h> #include "gui.h" @@ -123,6 +129,7 @@ } } +G_MODULE_EXPORT void on_get_status (GUPnPService *service, GUPnPServiceAction *action, @@ -137,6 +144,7 @@ gupnp_service_action_return (action); } +G_MODULE_EXPORT void on_get_target (GUPnPService *service, GUPnPServiceAction *action, @@ -151,6 +159,7 @@ gupnp_service_action_return (action); } +G_MODULE_EXPORT void on_set_target (GUPnPService *service, GUPnPServiceAction *action, @@ -168,6 +177,7 @@ set_status (status); } +G_MODULE_EXPORT void on_query_status (GUPnPService *service, const char *variable_name, @@ -178,6 +188,7 @@ g_value_set_boolean (value, get_status ()); } +G_MODULE_EXPORT void on_query_target (GUPnPService *service, const char *variable_name, @@ -188,6 +199,7 @@ g_value_set_boolean (value, get_status ()); } +G_MODULE_EXPORT void on_get_load_level_status (GUPnPService *service, GUPnPServiceAction *action, @@ -202,6 +214,7 @@ gupnp_service_action_return (action); } +G_MODULE_EXPORT void on_get_load_level_target (GUPnPService *service, GUPnPServiceAction *action, @@ -216,6 +229,7 @@ gupnp_service_action_return (action); } +G_MODULE_EXPORT void on_set_load_level_target (GUPnPService *service, GUPnPServiceAction *action, @@ -234,6 +248,7 @@ set_load_level (load_level); } +G_MODULE_EXPORT void on_query_load_level_status (GUPnPService *service, const char *variable_name, @@ -244,6 +259,7 @@ g_value_set_uint (value, get_load_level ()); } +G_MODULE_EXPORT void on_query_load_level_target (GUPnPService *service, const char *variable_name, @@ -318,8 +334,18 @@ xmlNode *uuid_node; char *udn; +#ifndef G_OS_WIN32 uuid_generate (uuid_context); uuid_unparse (uuid_context, uuid); +#else + { + gchar *tmp_uuid; + UuidCreate(&uuid_context); + UuidToString(&uuid_context, &tmp_uuid); + memcpy(uuid, tmp_uuid, 36); + RpcStringFree(&tmp_uuid); + } +#endif uuid_node = xml_util_get_element ((xmlNode *) doc->doc, "root", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/Makefile.am new/gupnp-tools-0.8.1/src/universal-cp/Makefile.am --- old/gupnp-tools-0.8/src/universal-cp/Makefile.am 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/Makefile.am 2010-06-24 15:40:28.000000000 +0200 @@ -22,8 +22,19 @@ details-treeview.h \ event-treeview.h \ action-dialog.h -gupnp_universal_cp_LDADD = $(GTK_LIBS) $(LIBGUPNP_LIBS) $(GTHREAD_LIBS) \ - ../common/libicons.a +gupnp_universal_cp_LDADD = ../common/libicons.a $(GTK_LIBS) $(LIBGUPNP_LIBS) $(GTHREAD_LIBS) gupnp_universal_cp_LDFLAGS = -export-dynamic +if OS_WIN32 +universal-cp.res: universal-cp.rc + $(WINDRES) -i universal-cp.rc --input-format=rc -o universal-cp.res -O coff +gupnp_universal_cp_LDADD += universal-cp.res +BUILT_SOURCES=universal-cp.res +CLEAN_FILES=universal-cp.res +gupnp_universal_cp_LDFLAGS += -Wl,-subsystem,windows +endif + +EXTRA_DIST=universal-cp.rc + + MAINTAINERCLEANFILES = Makefile.in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/action-dialog.c new/gupnp-tools-0.8.1/src/universal-cp/action-dialog.c --- old/gupnp-tools-0.8/src/universal-cp/action-dialog.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/action-dialog.c 2010-06-24 15:40:28.000000000 +0200 @@ -22,6 +22,8 @@ #include <stdlib.h> #include <config.h> +#include <gmodule.h> + #include "gui.h" #include "device-treeview.h" #include "icons.h" @@ -702,6 +704,7 @@ g_object_unref (introspection); } +G_MODULE_EXPORT void on_action_invocation (GtkButton *button, gpointer user_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/details-treeview.c new/gupnp-tools-0.8.1/src/universal-cp/details-treeview.c --- old/gupnp-tools-0.8/src/universal-cp/details-treeview.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/details-treeview.c 2010-09-01 18:33:58.000000000 +0200 @@ -22,6 +22,8 @@ #include <stdlib.h> #include <config.h> +#include <gmodule.h> + #include "details-treeview.h" #include "gui.h" @@ -43,16 +45,7 @@ return gtk_tree_selection_get_selected (selection, &model, iter); } -static void -setup_details_popup (GtkWidget *popup) -{ - /* Only show "Copy Value" menuitem when a row is selected */ - g_object_set (copy_value_menuitem, - "visible", - get_selected_row (NULL), - NULL); -} - +G_MODULE_EXPORT gboolean on_details_treeview_button_release (GtkWidget *widget, GdkEventButton *event, @@ -62,7 +55,11 @@ event->button != 3) return FALSE; - setup_details_popup (popup); + /* Only show "Copy Value" menuitem when a row is selected */ + g_object_set (copy_value_menuitem, + "visible", + get_selected_row (NULL), + NULL); gtk_menu_popup (GTK_MENU (popup), NULL, @@ -74,6 +71,7 @@ return TRUE; } +G_MODULE_EXPORT void on_details_treeview_row_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -100,6 +98,7 @@ } } +G_MODULE_EXPORT void on_copy_all_details_activate (GtkMenuItem *menuitem, gpointer user_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/device-treeview.c new/gupnp-tools-0.8.1/src/universal-cp/device-treeview.c --- old/gupnp-tools-0.8/src/universal-cp/device-treeview.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/device-treeview.c 2010-06-24 15:40:28.000000000 +0200 @@ -22,6 +22,8 @@ #include <stdlib.h> #include <config.h> +#include <gmodule.h> + #include "gui.h" #include "icons.h" #include "action-dialog.h" @@ -162,6 +164,7 @@ g_object_unref (proxy); } +G_MODULE_EXPORT gboolean on_device_treeview_button_release (GtkWidget *widget, GdkEventButton *event, @@ -183,6 +186,7 @@ return TRUE; } +G_MODULE_EXPORT void on_device_treeview_row_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -790,6 +794,7 @@ return action_info; } +G_MODULE_EXPORT void on_expand_devices_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -797,6 +802,7 @@ gtk_tree_view_expand_all (GTK_TREE_VIEW (treeview)); } +G_MODULE_EXPORT void on_collapse_devices_activate (GtkMenuItem *menuitem, gpointer user_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/event-treeview.c new/gupnp-tools-0.8.1/src/universal-cp/event-treeview.c --- old/gupnp-tools-0.8/src/universal-cp/event-treeview.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/event-treeview.c 2010-06-24 15:40:28.000000000 +0200 @@ -22,6 +22,8 @@ #include <stdlib.h> #include <config.h> +#include <gmodule.h> + #include "event-treeview.h" #include "gui.h" @@ -112,6 +114,7 @@ NULL); } +G_MODULE_EXPORT gboolean on_event_treeview_button_release (GtkWidget *widget, GdkEventButton *event, @@ -133,6 +136,7 @@ return TRUE; } +G_MODULE_EXPORT void on_event_treeview_row_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -181,6 +185,7 @@ } } +G_MODULE_EXPORT void on_copy_all_events_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -335,6 +340,7 @@ more = gtk_list_store_remove (GTK_LIST_STORE (model), &iter); } +G_MODULE_EXPORT void on_clear_event_log_activate (GtkMenuItem *menuitem, gpointer user_data) @@ -397,6 +403,7 @@ NULL); } +G_MODULE_EXPORT void on_event_log_activate (GtkCheckMenuItem *menuitem, gpointer user_data) @@ -407,6 +414,7 @@ NULL); } +G_MODULE_EXPORT void on_subscribe_to_events_activate (GtkCheckMenuItem *menuitem, gpointer user_data) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/gui.c new/gupnp-tools-0.8.1/src/universal-cp/gui.c --- old/gupnp-tools-0.8/src/universal-cp/gui.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/gui.c 2010-06-24 15:40:28.000000000 +0200 @@ -22,6 +22,8 @@ #include <stdlib.h> #include <config.h> +#include <gmodule.h> + #include "gui.h" #include "device-treeview.h" #include "event-treeview.h" @@ -79,6 +81,7 @@ setup_device_treeview (builder); } +G_MODULE_EXPORT gboolean on_delete_event (GtkWidget *widget, GdkEvent *event, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/main.c new/gupnp-tools-0.8.1/src/universal-cp/main.c --- old/gupnp-tools-0.8/src/universal-cp/main.c 2009-08-26 16:54:42.000000000 +0200 +++ new/gupnp-tools-0.8.1/src/universal-cp/main.c 2010-06-24 15:40:28.000000000 +0200 @@ -23,6 +23,8 @@ #include <string.h> #include <stdlib.h> +#include <gmodule.h> + static GUPnPContextManager *context_manager; static void @@ -89,6 +91,7 @@ g_object_unref (context_manager); } +G_MODULE_EXPORT void application_exit (void) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/gupnp-tools-0.8/src/universal-cp/universal-cp.rc new/gupnp-tools-0.8.1/src/universal-cp/universal-cp.rc --- old/gupnp-tools-0.8/src/universal-cp/universal-cp.rc 1970-01-01 01:00:00.000000000 +0100 +++ new/gupnp-tools-0.8.1/src/universal-cp/universal-cp.rc 2010-06-24 15:40:28.000000000 +0200 @@ -0,0 +1 @@ +A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../../data/pixmaps/win32/universal-cp.ico" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de