summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-03-31 17:59:14 -0400
committerJasper St. Pierre <jstpierre@mecheye.net>2014-03-31 19:14:56 -0400
commitf6a73bcf22b4132d107cf52393820d3ee48935d3 (patch)
tree536ea372ed50d66664db4cfa76caed1f0596c2de
parent59e064f61023bd1d7d8df108f94958ef58b5ecea (diff)
downloadmutter-f6a73bcf22b4132d107cf52393820d3ee48935d3.tar.gz
cursor: Do less work if we don't have a connection to GBM at all
-rw-r--r--src/core/meta-cursor.c52
1 files changed, 27 insertions, 25 deletions
diff --git a/src/core/meta-cursor.c b/src/core/meta-cursor.c
index a9bce1999..2a78328ef 100644
--- a/src/core/meta-cursor.c
+++ b/src/core/meta-cursor.c
@@ -315,36 +315,38 @@ meta_cursor_image_load_from_buffer (MetaCursorTracker *tracker,
shm_buffer = wl_shm_buffer_get (buffer);
if (shm_buffer)
{
- int rowstride = wl_shm_buffer_get_stride (shm_buffer);
-
- switch (wl_shm_buffer_get_format (shm_buffer))
+ if (tracker->gbm)
{
+ int rowstride = wl_shm_buffer_get_stride (shm_buffer);
+
+ switch (wl_shm_buffer_get_format (shm_buffer))
+ {
#if G_BYTE_ORDER == G_BIG_ENDIAN
- case WL_SHM_FORMAT_ARGB8888:
- gbm_format = GBM_FORMAT_ARGB8888;
- break;
- case WL_SHM_FORMAT_XRGB8888:
- gbm_format = GBM_FORMAT_XRGB8888;
- break;
+ case WL_SHM_FORMAT_ARGB8888:
+ gbm_format = GBM_FORMAT_ARGB8888;
+ break;
+ case WL_SHM_FORMAT_XRGB8888:
+ gbm_format = GBM_FORMAT_XRGB8888;
+ break;
#else
- case WL_SHM_FORMAT_ARGB8888:
- gbm_format = GBM_FORMAT_ARGB8888;
- break;
- case WL_SHM_FORMAT_XRGB8888:
- gbm_format = GBM_FORMAT_XRGB8888;
- break;
+ case WL_SHM_FORMAT_ARGB8888:
+ gbm_format = GBM_FORMAT_ARGB8888;
+ break;
+ case WL_SHM_FORMAT_XRGB8888:
+ gbm_format = GBM_FORMAT_XRGB8888;
+ break;
#endif
- default:
- g_warn_if_reached ();
- gbm_format = GBM_FORMAT_ARGB8888;
+ default:
+ g_warn_if_reached ();
+ gbm_format = GBM_FORMAT_ARGB8888;
+ }
+
+ meta_cursor_image_load_gbm_buffer (tracker->gbm,
+ image,
+ (uint8_t *) wl_shm_buffer_get_data (shm_buffer),
+ width, height, rowstride,
+ gbm_format);
}
-
- if (tracker->gbm)
- meta_cursor_image_load_gbm_buffer (tracker->gbm,
- image,
- (uint8_t *) wl_shm_buffer_get_data (shm_buffer),
- width, height, rowstride,
- gbm_format);
}
else
{