[gtk] volume button: Don't allow subclassing



commit 2dec0b8d7f12dae277962c33aef11a62284576b6
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun May 19 20:34:13 2019 +0000

    volume button: Don't allow subclassing
    
    If you want to subclass, there's GtkScaleButton.

 gtk/gtkscalebutton.h  |  8 +++-----
 gtk/gtkvolumebutton.c |  7 +++++++
 gtk/gtkvolumebutton.h | 15 ---------------
 3 files changed, 10 insertions(+), 20 deletions(-)
---
diff --git a/gtk/gtkscalebutton.h b/gtk/gtkscalebutton.h
index 1fc7ecdab2..c9dd397594 100644
--- a/gtk/gtkscalebutton.h
+++ b/gtk/gtkscalebutton.h
@@ -65,11 +65,9 @@ struct _GtkScaleButtonClass
   void (* value_changed) (GtkScaleButton *button,
                            gdouble         value);
 
-  /* Padding for future expansion */
-  void (*_gtk_reserved1) (void);
-  void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
+  /*< private >*/
+
+  gpointer padding[8];
 };
 
 GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c
index 71b5fc1208..5d805b282b 100644
--- a/gtk/gtkvolumebutton.c
+++ b/gtk/gtkvolumebutton.c
@@ -45,6 +45,13 @@
  * icons, tooltips and accessible labels.
  */
 
+typedef struct _GtkVolumeButtonClass  GtkVolumeButtonClass;
+
+struct _GtkVolumeButtonClass
+{
+  GtkScaleButtonClass parent_class;
+};
+
 #define EPSILON (1e-10)
 
 static const gchar * const icons[] =
diff --git a/gtk/gtkvolumebutton.h b/gtk/gtkvolumebutton.h
index 19b6076787..57f28378b9 100644
--- a/gtk/gtkvolumebutton.h
+++ b/gtk/gtkvolumebutton.h
@@ -38,30 +38,15 @@ G_BEGIN_DECLS
 
 #define GTK_TYPE_VOLUME_BUTTON                 (gtk_volume_button_get_type ())
 #define GTK_VOLUME_BUTTON(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VOLUME_BUTTON, 
GtkVolumeButton))
-#define GTK_VOLUME_BUTTON_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VOLUME_BUTTON, 
GtkVolumeButtonClass))
 #define GTK_IS_VOLUME_BUTTON(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VOLUME_BUTTON))
-#define GTK_IS_VOLUME_BUTTON_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VOLUME_BUTTON))
-#define GTK_VOLUME_BUTTON_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_VOLUME_BUTTON, 
GtkVolumeButtonClass))
 
 typedef struct _GtkVolumeButton       GtkVolumeButton;
-typedef struct _GtkVolumeButtonClass  GtkVolumeButtonClass;
 
 struct _GtkVolumeButton
 {
   GtkScaleButton  parent;
 };
 
-struct _GtkVolumeButtonClass
-{
-  GtkScaleButtonClass parent_class;
-
-  /* Padding for future expansion */
-  void (*_gtk_reserved1) (void);
-  void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
-};
-
 GDK_AVAILABLE_IN_ALL
 GType          gtk_volume_button_get_type      (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]