mirror of
https://github.com/brl/mutter.git
synced 2024-12-22 11:02:05 +00:00
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-stage.c: (clutter_stage_set_xwindow_foreign): Add checks; remove an indirection to the private data.
This commit is contained in:
parent
9139c07b48
commit
56132b57ca
@ -1,3 +1,9 @@
|
|||||||
|
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
|
* clutter/clutter-stage.c:
|
||||||
|
(clutter_stage_set_xwindow_foreign): Add checks;
|
||||||
|
remove an indirection to the private data.
|
||||||
|
|
||||||
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
|
2006-11-29 Emmanuele Bassi <ebassi@openedhand.com>
|
||||||
|
|
||||||
* gtk/*
|
* gtk/*
|
||||||
|
@ -863,7 +863,7 @@ clutter_stage_get_xwindow (ClutterStage *stage)
|
|||||||
*
|
*
|
||||||
* Target the #ClutterStage to use an existing external X Window.
|
* Target the #ClutterStage to use an existing external X Window.
|
||||||
*
|
*
|
||||||
* Return Value: TRUE if foreign window valid, FALSE otherwise
|
* Return value: TRUE if foreign window valid, FALSE otherwise
|
||||||
**/
|
**/
|
||||||
gboolean
|
gboolean
|
||||||
clutter_stage_set_xwindow_foreign (ClutterStage *stage,
|
clutter_stage_set_xwindow_foreign (ClutterStage *stage,
|
||||||
@ -877,6 +877,12 @@ clutter_stage_set_xwindow_foreign (ClutterStage *stage,
|
|||||||
Window root_return;
|
Window root_return;
|
||||||
Status status;
|
Status status;
|
||||||
ClutterGeometry geom;
|
ClutterGeometry geom;
|
||||||
|
ClutterStagePrivate *priv;
|
||||||
|
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_STAGE (stage), FALSE);
|
||||||
|
g_return_val_if_fail (xid != None, FALSE);
|
||||||
|
|
||||||
|
priv = stage->priv;
|
||||||
|
|
||||||
clutter_util_trap_x_errors();
|
clutter_util_trap_x_errors();
|
||||||
|
|
||||||
@ -890,23 +896,25 @@ clutter_stage_set_xwindow_foreign (ClutterStage *stage,
|
|||||||
&border,
|
&border,
|
||||||
&depth);
|
&depth);
|
||||||
|
|
||||||
if (clutter_util_untrap_x_errors() || !status
|
if (clutter_util_untrap_x_errors() || !status ||
|
||||||
|| width == 0 || height == 0 || depth != stage->priv->xvisinfo->depth)
|
width == 0 || height == 0 ||
|
||||||
return FALSE;
|
depth != priv->xvisinfo->depth)
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
clutter_actor_unrealize (CLUTTER_ACTOR(stage));
|
clutter_actor_unrealize (CLUTTER_ACTOR (stage));
|
||||||
|
|
||||||
stage->priv->xwin = xid;
|
priv->xwin = xid;
|
||||||
|
|
||||||
geom.x = x;
|
geom.x = x;
|
||||||
geom.y = y;
|
geom.y = y;
|
||||||
|
geom.width = priv->xwin_width = width;
|
||||||
|
geom.height = priv->xwin_height = height;
|
||||||
|
|
||||||
geom.width = stage->priv->xwin_width = width;
|
clutter_actor_set_geometry (CLUTTER_ACTOR (stage), &geom);
|
||||||
geom.height = stage->priv->xwin_height = height;
|
|
||||||
|
|
||||||
clutter_actor_set_geometry (CLUTTER_ACTOR(stage), &geom);
|
clutter_actor_realize (CLUTTER_ACTOR (stage));
|
||||||
|
|
||||||
clutter_actor_realize (CLUTTER_ACTOR(stage));
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user