mirror of
https://github.com/brl/mutter.git
synced 2025-06-14 01:09:30 +00:00
Add diagnostic mode
GLib has a "diagnostic mode" switch that can be checked to enable debug messages on deprecated properties and signals, as these are purely run-time constructs, and as such cannot be caught by compiler warnings. The diagnostic mode is toggled by a simple environment variable, and can be used to ease porting of application code. We can use something similar to mark deprecated virtual functions and other run-time constructs; to avoid collisions, we should use our own environment variable, CLUTTER_ENABLE_DIAGNOSTIC.
This commit is contained in:

committed by
Emmanuele Bassi

parent
db246569b7
commit
7d4a9c6f1e
@ -3752,3 +3752,34 @@ _clutter_debug_message (const char *format, ...)
|
||||
_clutter_debug_messagev (format, args);
|
||||
va_end (args);
|
||||
}
|
||||
|
||||
gboolean
|
||||
_clutter_diagnostic_enabled (void)
|
||||
{
|
||||
static const char *clutter_enable_diagnostic = NULL;
|
||||
|
||||
if (G_UNLIKELY (clutter_enable_diagnostic == NULL))
|
||||
{
|
||||
clutter_enable_diagnostic = g_getenv ("CLUTTER_ENABLE_DIAGNOSTIC");
|
||||
|
||||
if (clutter_enable_diagnostic == NULL)
|
||||
clutter_enable_diagnostic = "0";
|
||||
}
|
||||
|
||||
return *clutter_enable_diagnostic != '0';
|
||||
}
|
||||
|
||||
void
|
||||
_clutter_diagnostic_message (const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
char *fmt;
|
||||
|
||||
fmt = g_strconcat ("[DIAGNOSTIC]: ", format, NULL);
|
||||
|
||||
va_start (args, format);
|
||||
g_logv (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, fmt, args);
|
||||
va_end (args);
|
||||
|
||||
g_free (fmt);
|
||||
}
|
||||
|
Reference in New Issue
Block a user