From a20a509584c8f8982b6f2f5daf92d882f99e6d02 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 29 Jul 2010 17:18:25 +0100 Subject: [PATCH] x11: Split out conditions and warnings XGetGeometry is a great piece of API, since it gets a lot of stuff that are moderately *not* geometry related - the root window, and the depth being two. Since we have multiple conditions depending on the result of that call we should split them up depending on the actual error - and each of them should have a separate error message. This makes debugging simpler. --- clutter/x11/clutter-stage-x11.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/clutter/x11/clutter-stage-x11.c b/clutter/x11/clutter-stage-x11.c index 7ddde4c0d..476b8ae8d 100644 --- a/clutter/x11/clutter-stage-x11.c +++ b/clutter/x11/clutter-stage-x11.c @@ -905,12 +905,26 @@ clutter_x11_set_stage_foreign (ClutterStage *stage, &border, &depth); - if (clutter_x11_untrap_x_errors () || - !status || - width == 0 || height == 0 || - depth != xvisinfo->depth) + if (clutter_x11_untrap_x_errors () || !status) { - g_warning ("Unable to retrieve the new window geometry"); + g_critical ("Unable to retrieve the geometry of the foreign window: " + "XGetGeometry() failed (status code: %d)", status); + return FALSE; + } + + if (width == 0 || height == 0) + { + g_warning ("The size of the foreign window is 0x0"); + return FALSE; + } + + if (depth != xvisinfo->depth) + { + g_warning ("The depth of the visual of the foreign window is %d, but " + "Clutter has been initialized to require a visual depth " + "of %d", + depth, + xvisinfo->depth); return FALSE; }