diff --git a/ChangeLog b/ChangeLog index 39be21841..d77d289af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2007-07-21 Matthew Allum + + * clutter/clutter-event.c: + Correct clutter_event_get_state () return type. Fixes #398 + + * clutter/glx/clutter-stage-glx.c: + Disable use XFixes cursor visibility funcs. Appears to have issues + on feisty X Server at least. Fallback should work generally better. + + Fix non offscreen clutter_stage_snapshot to also rotate read pixel + data to correct orientation. + 2007-07-12 Matthew Allum * clutter/eglnative/clutter-event-egl.c: (clutter_event_dispatch): diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c index 483c68e2b..90162e7cb 100644 --- a/clutter/clutter-event.c +++ b/clutter/clutter-event.c @@ -106,7 +106,7 @@ clutter_event_get_time (ClutterEvent *event) * * Since: 0.4 */ -guint32 +ClutterModifierType clutter_event_get_state (ClutterEvent *event) { g_return_val_if_fail (event != NULL, 0); diff --git a/clutter/glx/clutter-stage-glx.c b/clutter/glx/clutter-stage-glx.c index c1eb31704..bff18c884 100644 --- a/clutter/glx/clutter-stage-glx.c +++ b/clutter/glx/clutter-stage-glx.c @@ -427,7 +427,9 @@ clutter_stage_glx_set_cursor_visible (ClutterStage *stage, if (show_cursor) { -#ifdef HAVE_XFIXES +#if 0 /* HAVE_XFIXES - borked on fiesty at least so disabled until further + * investigation. + */ XFixesShowCursor (stage_glx->xdpy, stage_glx->xwin); #else XUndefineCursor (stage_glx->xdpy, stage_glx->xwin); @@ -435,7 +437,7 @@ clutter_stage_glx_set_cursor_visible (ClutterStage *stage, } else { -#ifdef HAVE_XFIXES +#if 0 /* HAVE_XFIXES - borked */ XFixesHideCursor (stage_glx->xdpy, stage_glx->xwin); #else XColor col; @@ -540,7 +542,7 @@ clutter_stage_glx_draw_to_pixbuf (ClutterStage *stage, } else { - GdkPixbuf *tmp = NULL; + GdkPixbuf *tmp = NULL, *tmp2 = NULL; gint stride; stride = ((width * 4 + 3) &~ 3); @@ -561,9 +563,11 @@ clutter_stage_glx_draw_to_pixbuf (ClutterStage *stage, snapshot_pixbuf_free, NULL); - pixb = gdk_pixbuf_flip (tmp, TRUE); - + tmp2 = gdk_pixbuf_flip (tmp, TRUE); g_object_unref (tmp); + + pixb = gdk_pixbuf_rotate_simple (tmp2, GDK_PIXBUF_ROTATE_UPSIDEDOWN); + g_object_unref (tmp2); } return pixb;