[gtk+] stylecontext: Make first property name explicit
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] stylecontext: Make first property name explicit
- Date: Fri, 10 Nov 2017 14:05:17 +0000 (UTC)
commit 5b94fe6342605bc9606b1938ac13a56573a2d33a
Author: Benjamin Otte <otte redhat com>
Date: Fri Nov 10 14:53:36 2017 +0100
stylecontext: Make first property name explicit
Insist that a first non-NULL property is passed to
gtk_style_context_get().
This is in particular relevant because of dropping the state argument
since GTK3, and code like
gtk_style_context_get (context, state, "font", &font);
would keep compiling without warnings without this change.
gtk/gtkstylecontext.c | 12 +++++++++---
gtk/gtkstylecontext.h | 2 ++
2 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 02955e9..f70bc3a 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -749,6 +749,7 @@ gtk_style_context_get_property (GtkStyleContext *context,
/**
* gtk_style_context_get_valist:
* @context: a #GtkStyleContext
+ * @first_property_name: Name of the first property
* @args: va_list of property name/return location pairs, followed by %NULL
*
* Retrieves several style property values from @context for a given state.
@@ -765,13 +766,15 @@ gtk_style_context_get_property (GtkStyleContext *context,
*/
void
gtk_style_context_get_valist (GtkStyleContext *context,
+ const char *first_property_name,
va_list args)
{
const gchar *property_name;
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
+ g_return_if_fail (first_property_name != NULL);
- property_name = va_arg (args, const gchar *);
+ property_name = first_property_name;
while (property_name)
{
@@ -799,6 +802,7 @@ gtk_style_context_get_valist (GtkStyleContext *context,
/**
* gtk_style_context_get:
* @context: a #GtkStyleContext
+ * @first_property_name: Name of the first property
* @...: property name /return value pairs, followed by %NULL
*
* Retrieves several style property values from @context for a
@@ -816,14 +820,16 @@ gtk_style_context_get_valist (GtkStyleContext *context,
*/
void
gtk_style_context_get (GtkStyleContext *context,
+ const char *first_property_name,
...)
{
va_list args;
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
+ g_return_if_fail (first_property_name != NULL);
- va_start (args, context);
- gtk_style_context_get_valist (context, args);
+ va_start (args, first_property_name);
+ gtk_style_context_get_valist (context, first_property_name, args);
va_end (args);
}
diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h
index 58da54d..0b58d5e 100644
--- a/gtk/gtkstylecontext.h
+++ b/gtk/gtkstylecontext.h
@@ -1005,9 +1005,11 @@ void gtk_style_context_get_property (GtkStyleContext *context,
GValue *value);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_get_valist (GtkStyleContext *context,
+ const char *first_property_name,
va_list args);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_get (GtkStyleContext *context,
+ const char *first_property_name,
...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]