e_drm_buffer: creating a wl_buffer resource before referencing a tizen_buffer in... 26/46626/1 accepted/tizen/mobile/20150825.060835 accepted/tizen/tv/20150825.060848 accepted/tizen/wearable/20150825.060854 submit/tizen/20150824.055555
authorBoram Park <boram1288.park@samsung.com>
Mon, 24 Aug 2015 07:58:45 +0000 (16:58 +0900)
committerBoram Park <boram1288.park@samsung.com>
Mon, 24 Aug 2015 07:58:58 +0000 (16:58 +0900)
Change-Id: I614b2e168745c95aebd6b4d5a70cd338491680fc

src/bin/e_drm_buffer_pool.c

index 3741b7facb9aadeb5a389a4036d32dd49e1bb451..e26918eb74f8d582ef4361c475ad29557148726a 100644 (file)
@@ -121,6 +121,17 @@ create_drm_buffer(struct wl_client *client, struct wl_resource *resource, uint32
         return;
      }
 
+   buffer->resource = wl_resource_create(client, &wl_buffer_interface, 1, id);
+   if (!buffer->resource)
+     {
+        wl_resource_post_no_memory(resource);
+        free(buffer);
+        return;
+     }
+
+   wl_resource_set_implementation(buffer->resource, &_e_drm_buffer_interface,
+                                  buffer, destroy_drm_buffer);
+
    buffer->width = width;
    buffer->height = height;
    buffer->format = format;
@@ -142,18 +153,6 @@ create_drm_buffer(struct wl_client *client, struct wl_resource *resource, uint32
         free(buffer);
         return;
      }
-
-   buffer->resource = wl_resource_create(client, &wl_buffer_interface, 1, id);
-   if (!buffer->resource)
-     {
-        wl_resource_post_no_memory(resource);
-        pool->callbacks->release_buffer(pool->user_data, buffer);
-        free(buffer);
-        return;
-     }
-
-   wl_resource_set_implementation(buffer->resource, &_e_drm_buffer_interface,
-                                  buffer, destroy_drm_buffer);
 }
 
 static void