commit debb520

Michael Forney  ·  2013-12-04 05:59:43 +0000 UTC
parent 9b58165
surface: Set size to 0 when NULL buffer is attached
1 files changed,  +15, -8
+15, -8
 1@@ -234,16 +234,23 @@ static void commit(struct wl_client * client, struct wl_resource * resource)
 2         state_set_buffer(&surface->state, surface->pending.state.buffer);
 3 
 4         /* Determine size of buffer. */
 5-        if ((shm_buffer = wl_shm_buffer_get(surface->state.buffer)))
 6+        if (surface->state.buffer)
 7         {
 8-            set_size(surface, wl_shm_buffer_get_width(shm_buffer),
 9-                     wl_shm_buffer_get_height(shm_buffer));
10-        }
11-        else if ((drm_buffer = swc_drm_buffer_get(surface->state.buffer)))
12-        {
13-            set_size(surface, drm_buffer->drawable->width,
14-                     drm_buffer->drawable->height);
15+            if ((shm_buffer = wl_shm_buffer_get(surface->state.buffer)))
16+            {
17+                set_size(surface, wl_shm_buffer_get_width(shm_buffer),
18+                         wl_shm_buffer_get_height(shm_buffer));
19+            }
20+            else if ((drm_buffer = swc_drm_buffer_get(surface->state.buffer)))
21+            {
22+                set_size(surface, drm_buffer->drawable->width,
23+                         drm_buffer->drawable->height);
24+            }
25+            else
26+                WARNING("Unknown buffer type attached\n");
27         }
28+        else
29+            set_size(surface, 0, 0);
30     }
31 
32     /* Damage */