forked from AuroraMiddleware/gtk
A GOptionArgFunc should return gboolean and take also a GError pointer
2009-01-12 Tor Lillqvist <tml@iki.fi> * gdk/gdk.c (gdk_arg_debug_cb) (gdk_arg_no_debug_cb): A GOptionArgFunc should return gboolean and take also a GError pointer parameter, so make these two functions do that. Return FALSE (and set the GError) if the parsing of the debug string failed completely. Note that g_parse_debug_string() doesn't really have any way to return parsing status, and accepts partially incorrect strings, though. svn path=/trunk/; revision=22095
This commit is contained in:
parent
d25a8b200c
commit
550d4d185b
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
2009-01-12 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
* gdk/gdk.c (gdk_arg_debug_cb) (gdk_arg_no_debug_cb): A
|
||||||
|
GOptionArgFunc should return gboolean and take also a GError
|
||||||
|
pointer parameter, so make these two functions do that. Return
|
||||||
|
FALSE (and set the GError) if the parsing of the debug string
|
||||||
|
failed completely. Note that g_parse_debug_string() doesn't really
|
||||||
|
have any way to return parsing status, and accepts partially
|
||||||
|
incorrect strings, though.
|
||||||
|
|
||||||
2009-01-12 Claudio Saavedra <csaavedra@igalia.com>
|
2009-01-12 Claudio Saavedra <csaavedra@igalia.com>
|
||||||
|
|
||||||
Bug 567468 – no check for trailing != NULL in
|
Bug 567468 – no check for trailing != NULL in
|
||||||
|
40
gdk/gdk.c
40
gdk/gdk.c
@ -89,20 +89,44 @@ static const int gdk_ndebug_keys = G_N_ELEMENTS (gdk_debug_keys);
|
|||||||
#endif /* G_ENABLE_DEBUG */
|
#endif /* G_ENABLE_DEBUG */
|
||||||
|
|
||||||
#ifdef G_ENABLE_DEBUG
|
#ifdef G_ENABLE_DEBUG
|
||||||
static void
|
static gboolean
|
||||||
gdk_arg_debug_cb (const char *key, const char *value, gpointer user_data)
|
gdk_arg_debug_cb (const char *key, const char *value, gpointer user_data, GError **error)
|
||||||
{
|
{
|
||||||
_gdk_debug_flags |= g_parse_debug_string (value,
|
guint debug_value = g_parse_debug_string (value,
|
||||||
(GDebugKey *) gdk_debug_keys,
|
(GDebugKey *) gdk_debug_keys,
|
||||||
gdk_ndebug_keys);
|
gdk_ndebug_keys);
|
||||||
|
|
||||||
|
if (debug_value == 0 && value != NULL && strcmp (value, "") != 0)
|
||||||
|
{
|
||||||
|
g_set_error (error,
|
||||||
|
G_OPTION_ERROR, G_OPTION_ERROR_FAILED,
|
||||||
|
_("Error parsing option --gdk-debug"));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
_gdk_debug_flags |= debug_value;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
gdk_arg_no_debug_cb (const char *key, const char *value, gpointer user_data)
|
gdk_arg_no_debug_cb (const char *key, const char *value, gpointer user_data, GError **error)
|
||||||
{
|
{
|
||||||
_gdk_debug_flags &= ~g_parse_debug_string (value,
|
guint debug_value = g_parse_debug_string (value,
|
||||||
(GDebugKey *) gdk_debug_keys,
|
(GDebugKey *) gdk_debug_keys,
|
||||||
gdk_ndebug_keys);
|
gdk_ndebug_keys);
|
||||||
|
|
||||||
|
if (debug_value == 0 && value != NULL && strcmp (value, "") != 0)
|
||||||
|
{
|
||||||
|
g_set_error (error,
|
||||||
|
G_OPTION_ERROR, G_OPTION_ERROR_FAILED,
|
||||||
|
_("Error parsing option --gdk-no-debug"));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
_gdk_debug_flags &= ~debug_value;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
#endif /* G_ENABLE_DEBUG */
|
#endif /* G_ENABLE_DEBUG */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user