From: "Daniel P. Berrange" <berra...@redhat.com>

Various methods are deprecated by using the G_GNUC_DEPRECATED_FOR
macro. Unfortunately this macro was placed in the .c file impl,
instead of the .h file decl. Thus applications building against
SPICE-GTK would never see the deprecation warnings. At the same
time, building SPICE-GTK itself would trigger some of the warnings
preventing use of -Wdeprecated-declarations to detect use of
deprecated GTK functions.

The fix is in multiple parts

 * Replace calls to G_GNUC_DEPRECATED_FOR with SPICE_DEPRECATED_FOR
 * Move macros from .c to .h files
 * Turn SPICE_DEPRECATED_FOR into a no-op if SPICE_NO_DEPRECATED
   is defined
 * Define SPICE_NO_DEPRECATED when building
---
 gtk/Makefile.am    |    1 +
 gtk/channel-main.c |    4 ----
 gtk/channel-main.h |    4 ++++
 gtk/spice-audio.c  |    1 -
 gtk/spice-audio.h  |    1 +
 gtk/spice-util.h   |    7 +++++++
 gtk/spice-widget.c |    2 --
 gtk/spice-widget.h |    2 ++
 8 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 2057b5a..2f7d4ae 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -57,6 +57,7 @@ EXTRA_DIST += $(KEYMAPS)
 
 SPICE_COMMON_CPPFLAGS = \
        -DG_LOG_DOMAIN=\"GSpice\"       \
+       -DSPICE_NO_DEPRECATED           \
        -DSW_CANVAS_CACHE               \
        -DSPICE_GTK_LOCALEDIR=\"${SPICE_GTK_LOCALEDIR}\" \
        -DPNP_IDS=\""$(PNP_IDS)"\"\
diff --git a/gtk/channel-main.c b/gtk/channel-main.c
index dbe78d9..745e954 100644
--- a/gtk/channel-main.c
+++ b/gtk/channel-main.c
@@ -1809,7 +1809,6 @@ void spice_main_set_display(SpiceMainChannel *channel, 
int id,
  *
  * Deprecated: 0.6: use spice_main_clipboard_selection_grab() instead.
  **/
-G_GNUC_DEPRECATED_FOR(spice_main_clipboard_selection_grab)
 void spice_main_clipboard_grab(SpiceMainChannel *channel, guint32 *types, int 
ntypes)
 {
     spice_main_clipboard_selection_grab(channel, 
VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD, types, ntypes);
@@ -1845,7 +1844,6 @@ void spice_main_clipboard_selection_grab(SpiceMainChannel 
*channel, guint select
  *
  * Deprecated: 0.6: use spice_main_clipboard_selection_release() instead.
  **/
-G_GNUC_DEPRECATED_FOR(spice_main_clipboard_selection_release)
 void spice_main_clipboard_release(SpiceMainChannel *channel)
 {
     spice_main_clipboard_selection_release(channel, 
VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD);
@@ -1886,7 +1884,6 @@ void 
spice_main_clipboard_selection_release(SpiceMainChannel *channel, guint sel
  *
  * Deprecated: 0.6: use spice_main_clipboard_selection_notify() instead.
  **/
-G_GNUC_DEPRECATED_FOR(spice_main_clipboard_selection_notify)
 void spice_main_clipboard_notify(SpiceMainChannel *channel,
                                  guint32 type, const guchar *data, size_t size)
 {
@@ -1926,7 +1923,6 @@ void 
spice_main_clipboard_selection_notify(SpiceMainChannel *channel, guint sele
  *
  * Deprecated: 0.6: use spice_main_clipboard_selection_request() instead.
  **/
-G_GNUC_DEPRECATED_FOR(spice_main_clipboard_selection_request)
 void spice_main_clipboard_request(SpiceMainChannel *channel, guint32 type)
 {
     spice_main_clipboard_selection_request(channel, 
VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD, type);
diff --git a/gtk/channel-main.h b/gtk/channel-main.h
index ae3f241..197c8d5 100644
--- a/gtk/channel-main.h
+++ b/gtk/channel-main.h
@@ -73,9 +73,13 @@ void spice_main_set_display(SpiceMainChannel *channel, int 
id,
 void spice_main_set_display_enabled(SpiceMainChannel *channel, int id, 
gboolean enabled);
 gboolean spice_main_send_monitor_config(SpiceMainChannel *channel);
 
+SPICE_DEPRECATED_FOR(spice_main_clipboard_selection_grab)
 void spice_main_clipboard_grab(SpiceMainChannel *channel, guint32 *types, int 
ntypes);
+SPICE_DEPRECATED_FOR(spice_main_clipboard_selection_release)
 void spice_main_clipboard_release(SpiceMainChannel *channel);
+SPICE_DEPRECATED_FOR(spice_main_clipboard_selection_notify)
 void spice_main_clipboard_notify(SpiceMainChannel *channel, guint32 type, 
const guchar *data, size_t size);
+SPICE_DEPRECATED_FOR(spice_main_clipboard_selection_request)
 void spice_main_clipboard_request(SpiceMainChannel *channel, guint32 type);
 
 void spice_main_clipboard_selection_grab(SpiceMainChannel *channel, guint 
selection, guint32 *types, int ntypes);
diff --git a/gtk/spice-audio.c b/gtk/spice-audio.c
index 3d6e34c..30c2920 100644
--- a/gtk/spice-audio.c
+++ b/gtk/spice-audio.c
@@ -204,7 +204,6 @@ static void session_enable_audio(GObject *gobject, 
GParamSpec *pspec,
  * Returns: a new #SpiceAudio instance or %NULL if no backend or failed.
  * Deprecated: 0.8: Use spice_audio_get() instead
  **/
-G_GNUC_DEPRECATED_FOR(spice_audio_get)
 SpiceAudio *spice_audio_new(SpiceSession *session, GMainContext *context,
                             const char *name)
 {
diff --git a/gtk/spice-audio.h b/gtk/spice-audio.h
index 1709227..ab8a1be 100644
--- a/gtk/spice-audio.h
+++ b/gtk/spice-audio.h
@@ -73,6 +73,7 @@ struct _SpiceAudioClass {
 
 GType spice_audio_get_type(void);
 
+SPICE_DEPRECATED_FOR(spice_audio_get)
 SpiceAudio* spice_audio_new(SpiceSession *session, GMainContext *context, 
const char *name);
 
 SpiceAudio* spice_audio_get(SpiceSession *session, GMainContext *context);
diff --git a/gtk/spice-util.h b/gtk/spice-util.h
index aace4b6..5bd24d3 100644
--- a/gtk/spice-util.h
+++ b/gtk/spice-util.h
@@ -39,6 +39,13 @@ gulong spice_g_signal_connect_object(gpointer instance,
 
 #define SPICE_RESERVED_PADDING 44
 
+#ifndef SPICE_NO_DEPRECATED
+#define SPICE_DEPRECATED_FOR(f) \
+    G_GNUC_DEPRECATED_FOR(f)
+#else
+#define SPICE_DEPRECATED_FOR(f)
+#endif
+
 G_END_DECLS
 
 #endif /* SPICE_UTIL_H */
diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
index c502732..fb40d1a 100644
--- a/gtk/spice-widget.c
+++ b/gtk/spice-widget.c
@@ -1900,7 +1900,6 @@ void spice_display_mouse_ungrab(SpiceDisplay *display)
  *
  * Deprecated: 0.8: Use spice_gtk_session_copy_to_guest() instead
  **/
-G_GNUC_DEPRECATED_FOR(spice_gtk_session_copy_to_guest)
 void spice_display_copy_to_guest(SpiceDisplay *display)
 {
     SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(display);
@@ -1918,7 +1917,6 @@ void spice_display_copy_to_guest(SpiceDisplay *display)
  *
  * Deprecated: 0.8: Use spice_gtk_session_paste_from_guest() instead
  **/
-G_GNUC_DEPRECATED_FOR(spice_gtk_session_paste_from_guest)
 void spice_display_paste_from_guest(SpiceDisplay *display)
 {
     SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(display);
diff --git a/gtk/spice-widget.h b/gtk/spice-widget.h
index 4ea0976..b7f185f 100644
--- a/gtk/spice-widget.h
+++ b/gtk/spice-widget.h
@@ -72,7 +72,9 @@ GType         spice_display_get_type(void);
 
 SpiceDisplay* spice_display_new(SpiceSession *session, int id);
 void spice_display_mouse_ungrab(SpiceDisplay *display);
+SPICE_DEPRECATED_FOR(spice_gtk_session_copy_to_guest)
 void spice_display_copy_to_guest(SpiceDisplay *display);
+SPICE_DEPRECATED_FOR(spice_gtk_session_paste_from_guest)
 void spice_display_paste_from_guest(SpiceDisplay *display);
 void spice_display_set_grab_keys(SpiceDisplay *display, SpiceGrabSequence 
*seq);
 SpiceGrabSequence *spice_display_get_grab_keys(SpiceDisplay *display);
-- 
1.7.7.6

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to