discomfitor pushed a commit to branch master.

commit b67be2ee25b8f6ceaae1afbd137335942fe5310e
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Jul 15 05:18:53 2013 +0100

    add error messages to ximage function failures
---
 src/lib/ecore_x/xlib/ecore_x_image.c | 57 ++++++++++++++++++++++++++++++++++--
 1 file changed, 55 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_image.c 
b/src/lib/ecore_x/xlib/ecore_x_image.c
index 67b7142..3ae9b63 100644
--- a/src/lib/ecore_x/xlib/ecore_x_image.c
+++ b/src/lib/ecore_x/xlib/ecore_x_image.c
@@ -26,10 +26,63 @@ static int _ecore_x_image_shm_can = -1;
 static int _ecore_x_image_err = 0;
 
 static int
-_ecore_x_image_error_handler(Display *d EINA_UNUSED,
-                             XErrorEvent *ev EINA_UNUSED)
+_ecore_x_image_error_handler(Display *d EINA_UNUSED, XErrorEvent *ev)
 {
    _ecore_x_image_err = 1;
+   switch (ev->error_code)
+     {
+      case BadRequest: /* bad request code */
+        ERR("BadRequest");
+        break;
+      case BadValue:   /* int parameter out of range */
+        ERR("BadValue");
+        break;
+      case BadWindow:  /* parameter not a Window */
+        ERR("BadWindow");
+        break;
+      case BadPixmap:  /* parameter not a Pixmap */
+        ERR("BadPixmap");
+        break;
+      case BadAtom:    /* parameter not an Atom */
+        ERR("BadAtom");
+        break;
+      case BadCursor:  /* parameter not a Cursor */
+        ERR("BadCursor");
+        break;
+      case BadFont:    /* parameter not a Font */
+        ERR("BadFont");
+        break;
+      case BadMatch:   /* parameter mismatch */
+        ERR("BadMatch");
+        break;
+      case BadDrawable:        /* parameter not a Pixmap or Window */
+        ERR("BadDrawable");
+        break;
+      case BadAccess:  /* depending on context */
+        ERR("BadAccess");
+        break;
+      case BadAlloc:   /* insufficient resources */
+        ERR("BadAlloc");
+        break;
+      case BadColor:   /* no such colormap */
+        ERR("BadColor");
+        break;
+      case BadGC:      /* parameter not a GC */
+        ERR("BadGC");
+        break;
+      case BadIDChoice:        /* choice not in range or already used */
+        ERR("BadIDChoice");
+        break;
+      case BadName:    /* font or color name doesn't exist */
+        ERR("BadName");
+        break;
+      case BadLength:  /* Request length incorrect */
+        ERR("BadLength");
+        break;
+      case BadImplementation:  /* server is defective */
+        ERR("BadImplementation");
+        break;
+     }
    return 0;
 }
 

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to