tbm_module: make tbm_module_bufmgr_bind_native_display
[platform/core/uifw/libtbm.git] / src / tbm_surface.c
index 07cf55a..0766cf5 100644 (file)
@@ -142,6 +142,8 @@ tbm_surface_get_width(tbm_surface_h surface)
 {
        TBM_TRACE_SURFACE("tbm_surface(%p)\n", surface);
 
+       int width = 0;
+
        _tbm_set_last_result(TBM_ERROR_NONE);
 
        if (!surface) {
@@ -149,14 +151,22 @@ tbm_surface_get_width(tbm_surface_h surface)
                set_last_result(TBM_SURFACE_ERROR_INVALID_PARAMETER);
 #endif
                _tbm_set_last_result(TBM_ERROR_INVALID_PARAMETER);
-               return 0;
+               return TBM_SURFACE_ERROR_INVALID_PARAMETER;
+       }
+
+       width = tbm_surface_internal_get_width(surface);
+       if (tbm_get_last_error() != TBM_ERROR_NONE) {
+#ifdef HAVE_CAPI_0_1_1
+               set_last_result(TBM_SURFACE_ERROR_INVALID_PARAMETER);
+#endif
+               return TBM_SURFACE_ERROR_INVALID_PARAMETER;
        }
 
 #ifdef HAVE_CAPI_0_1_1
        set_last_result(TBM_SURFACE_ERROR_NONE);
 #endif
 
-       return tbm_surface_internal_get_width(surface);
+       return width;
 }
 
 int
@@ -164,6 +174,8 @@ tbm_surface_get_height(tbm_surface_h surface)
 {
        TBM_TRACE_SURFACE("tbm_surface(%p)\n", surface);
 
+       int height = 0;
+
        _tbm_set_last_result(TBM_ERROR_NONE);
 
        if (!surface) {
@@ -171,14 +183,22 @@ tbm_surface_get_height(tbm_surface_h surface)
                set_last_result(TBM_SURFACE_ERROR_INVALID_PARAMETER);
 #endif
                _tbm_set_last_result(TBM_ERROR_INVALID_PARAMETER);
-               return 0;
+               return TBM_SURFACE_ERROR_INVALID_PARAMETER;
+       }
+
+       height = tbm_surface_internal_get_height(surface);
+       if (tbm_get_last_error() != TBM_ERROR_NONE) {
+#ifdef HAVE_CAPI_0_1_1
+               set_last_result(TBM_SURFACE_ERROR_INVALID_PARAMETER);
+#endif
+               return TBM_SURFACE_ERROR_INVALID_PARAMETER;
        }
 
 #ifdef HAVE_CAPI_0_1_1
        set_last_result(TBM_SURFACE_ERROR_NONE);
 #endif
 
-       return tbm_surface_internal_get_height(surface);
+       return height;
 }
 
 tbm_format