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.
This commit is contained in:
Benjamin Otte 2017-11-10 14:53:36 +01:00
parent 51c5ccf412
commit 5b94fe6342
2 changed files with 11 additions and 3 deletions

View File

@ -749,6 +749,7 @@ gtk_style_context_get_property (GtkStyleContext *context,
/** /**
* gtk_style_context_get_valist: * gtk_style_context_get_valist:
* @context: a #GtkStyleContext * @context: a #GtkStyleContext
* @first_property_name: Name of the first property
* @args: va_list of property name/return location pairs, followed by %NULL * @args: va_list of property name/return location pairs, followed by %NULL
* *
* Retrieves several style property values from @context for a given state. * Retrieves several style property values from @context for a given state.
@ -765,13 +766,15 @@ gtk_style_context_get_property (GtkStyleContext *context,
*/ */
void void
gtk_style_context_get_valist (GtkStyleContext *context, gtk_style_context_get_valist (GtkStyleContext *context,
const char *first_property_name,
va_list args) va_list args)
{ {
const gchar *property_name; const gchar *property_name;
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); 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) while (property_name)
{ {
@ -799,6 +802,7 @@ gtk_style_context_get_valist (GtkStyleContext *context,
/** /**
* gtk_style_context_get: * gtk_style_context_get:
* @context: a #GtkStyleContext * @context: a #GtkStyleContext
* @first_property_name: Name of the first property
* @...: property name /return value pairs, followed by %NULL * @...: property name /return value pairs, followed by %NULL
* *
* Retrieves several style property values from @context for a * Retrieves several style property values from @context for a
@ -816,14 +820,16 @@ gtk_style_context_get_valist (GtkStyleContext *context,
*/ */
void void
gtk_style_context_get (GtkStyleContext *context, gtk_style_context_get (GtkStyleContext *context,
const char *first_property_name,
...) ...)
{ {
va_list args; va_list args;
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
g_return_if_fail (first_property_name != NULL);
va_start (args, context); va_start (args, first_property_name);
gtk_style_context_get_valist (context, args); gtk_style_context_get_valist (context, first_property_name, args);
va_end (args); va_end (args);
} }

View File

@ -1005,9 +1005,11 @@ void gtk_style_context_get_property (GtkStyleContext *context,
GValue *value); GValue *value);
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL
void gtk_style_context_get_valist (GtkStyleContext *context, void gtk_style_context_get_valist (GtkStyleContext *context,
const char *first_property_name,
va_list args); va_list args);
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL
void gtk_style_context_get (GtkStyleContext *context, void gtk_style_context_get (GtkStyleContext *context,
const char *first_property_name,
...) G_GNUC_NULL_TERMINATED; ...) G_GNUC_NULL_TERMINATED;
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL