ecore-buffer: fix wrong check for failure case 14/40314/4
authorSeunghun Lee <shiin.lee@samsung.com>
Tue, 2 Jun 2015 05:42:33 +0000 (14:42 +0900)
committerSeunghun Lee <shiin.lee@samsung.com>
Thu, 4 Jun 2015 01:05:15 +0000 (18:05 -0700)
Change-Id: I3e59d41166b4c8180f643c7b825836186ed469a6

src/lib/ecore_buffer/ecore_buffer.c
src/modules/ecore_buffer/x11_dri2/ecore_buffer_x11_dri2.c

index 818dfa2..8456401 100644 (file)
@@ -86,11 +86,10 @@ _ecore_buffer_get_backend(const char *name)
    else
      bm = eina_hash_find(_backends, backend_name);
 
-   if ((!bm) || (!bm->be))
+   if ((!bm) || (!bm->be) || (!bm->be->init))
      return NULL;
 
-   if ((!bm->data) && (bm->be->init))
-     bm->data = bm->be->init(NULL, NULL);
+   bm->data = bm->be->init(NULL, NULL);
 
    return bm;
 }
index 5ce3c49..e51d9ed 100644 (file)
@@ -253,7 +253,7 @@ _ecore_buffer_x11_dri2_init(const char *context EINA_UNUSED, const char *options
    if (fd < 0)
      goto on_error;
 
-   if (!(drmGetMagic(fd, &magic)))
+   if (drmGetMagic(fd, &magic) < 0)
      goto on_error;
 
    if (!(DRI2Authenticate(xdpy, root, magic)))