From 32c572145c09642fa515e96a413a6a6ccb604b24 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 12 May 2012 21:03:13 +0200 Subject: make private gtk-vlc-player attributes private (well sort of...) and fix object destruction (dispose, finalize) * private attributes allow us to remove the vlc.h dependency from the class header (users of the header/widget might not have the header or correct flags to include it) * destruction using _dispose() and _finalize() handlers: vlc references are finalized, while Gtk objects are disposed * in order for reference counting on the GtkObjects to work, their reference counter must be explicitly initialized (side effect of g_object_ref_sink()) * don't use deprecated gtk_object_ref/unref() functions --- lib/gtk-vlc-player/gtk-vlc-player.h | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) (limited to 'lib/gtk-vlc-player/gtk-vlc-player.h') diff --git a/lib/gtk-vlc-player/gtk-vlc-player.h b/lib/gtk-vlc-player/gtk-vlc-player.h index 969aa6d..ef504c1 100644 --- a/lib/gtk-vlc-player/gtk-vlc-player.h +++ b/lib/gtk-vlc-player/gtk-vlc-player.h @@ -4,8 +4,6 @@ #include #include -#include - G_BEGIN_DECLS #define GTK_TYPE_VLC_PLAYER \ @@ -21,20 +19,13 @@ G_BEGIN_DECLS #define GTK_VLC_PLAYER_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_TYPE_VLC_PLAYER, GtkVlcPlayerClass)) +/** @private */ +typedef struct _GtkVlcPlayerPrivate GtkVlcPlayerPrivate; + typedef struct _GtkVlcPlayer { GtkAlignment parent_instance; - GtkObject *time_adjustment; - gulong time_adj_on_value_changed_id; - - GtkObject *volume_adjustment; - gulong vol_adj_on_value_changed_id; - - libvlc_instance_t *vlc_inst; - libvlc_media_player_t *media_player; - - gboolean isFullscreen; - GtkWidget *fullscreen_window; + GtkVlcPlayerPrivate *priv; /**< @private */ } GtkVlcPlayer; typedef struct _GtkVlcPlayerClass { -- cgit v1.2.3