discomfitor pushed a commit to branch master.

commit 3e45bbecf63f79c23ad8190a98e519befb497add
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Jul 17 08:35:34 2013 +0100

    print ecore-x xlib errors when they occur
---
 ChangeLog                            |  4 +++
 NEWS                                 |  1 +
 src/lib/ecore_x/xlib/ecore_x_error.c | 54 ++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index d4d88a9..d2ae94f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-07-17  Mike Blumenkrantz
+
+        * Ecore-X: add error messages for xlib
+
 2013-07-15  Mike Blumenkrantz
 
         * Ecore-X: fix BadMatch errors in ecore_x_image_get when requested 
size was larger than XImage size
diff --git a/NEWS b/NEWS
index c71b20f..5876af2 100644
--- a/NEWS
+++ b/NEWS
@@ -82,6 +82,7 @@ Additions:
        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE
        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE
        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
+     - add error messages for xlib
     * Ecore_Wayland:
      - Store global wayland interfaces in a globals list so wayland programs
        can bind to other non-standard wayland protocol extensions.
diff --git a/src/lib/ecore_x/xlib/ecore_x_error.c 
b/src/lib/ecore_x/xlib/ecore_x_error.c
index f6eb075..3695341 100644
--- a/src/lib/ecore_x/xlib/ecore_x_error.c
+++ b/src/lib/ecore_x/xlib/ecore_x_error.c
@@ -99,6 +99,60 @@ static int
 _ecore_x_error_handle(Display *d,
                       XErrorEvent *ev)
 {
+   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;
+     }
    if (d == _ecore_x_disp)
      {
         _error_request_code = ev->request_code;

-- 

------------------------------------------------------------------------------
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