From: Michel Dänzer <michel.daen...@amd.com>

This reduces code duplication.

One side effect of this change is that xf86_config->cursor will no longer
be updated for cursors which cannot use the HW cursor.

Signed-off-by: Michel Dänzer <michel.daen...@amd.com>
---

The side effect might actually be a bugfix? Haven't noticed any actual
problems because of this though.

 hw/xfree86/modes/xf86Cursors.c | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/hw/xfree86/modes/xf86Cursors.c b/hw/xfree86/modes/xf86Cursors.c
index 321cde7..f487890 100644
--- a/hw/xfree86/modes/xf86Cursors.c
+++ b/hw/xfree86/modes/xf86Cursors.c
@@ -516,15 +516,15 @@ xf86_use_hw_cursor(ScreenPtr screen, CursorPtr cursor)
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     xf86CursorInfoPtr cursor_info = xf86_config->cursor_info;
 
+    if (cursor->bits->width > cursor_info->MaxWidth ||
+        cursor->bits->height > cursor_info->MaxHeight)
+        return FALSE;
+
     cursor = RefCursor(cursor);
     if (xf86_config->cursor)
         FreeCursor(xf86_config->cursor, None);
     xf86_config->cursor = cursor;
 
-    if (cursor->bits->width > cursor_info->MaxWidth ||
-        cursor->bits->height > cursor_info->MaxHeight)
-        return FALSE;
-
     return TRUE;
 }
 
@@ -535,20 +535,11 @@ xf86_use_hw_cursor_argb(ScreenPtr screen, CursorPtr 
cursor)
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
     xf86CursorInfoPtr cursor_info = xf86_config->cursor_info;
 
-    cursor = RefCursor(cursor);
-    if (xf86_config->cursor)
-        FreeCursor(xf86_config->cursor, None);
-    xf86_config->cursor = cursor;
-
     /* Make sure ARGB support is available */
     if ((cursor_info->Flags & HARDWARE_CURSOR_ARGB) == 0)
         return FALSE;
 
-    if (cursor->bits->width > cursor_info->MaxWidth ||
-        cursor->bits->height > cursor_info->MaxHeight)
-        return FALSE;
-
-    return TRUE;
+    return xf86_use_hw_cursor(screen, cursor);
 }
 
 static Bool
-- 
2.6.2

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to