stage-window: Add argument guards

Validate the arguments passed to StageWindow's methods.
This commit is contained in:
Emmanuele Bassi 2010-07-20 14:39:01 +01:00
parent a7adfd8745
commit 7b6b2ea55b

View File

@ -112,20 +112,29 @@ _clutter_stage_window_get_geometry (ClutterStageWindow *window,
int int
_clutter_stage_window_get_pending_swaps (ClutterStageWindow *window) _clutter_stage_window_get_pending_swaps (ClutterStageWindow *window)
{ {
if (!CLUTTER_STAGE_WINDOW_GET_IFACE (window)->get_pending_swaps) ClutterStageWindowIface *iface;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), 0);
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->get_pending_swaps == NULL)
{ {
g_assert (!clutter_feature_available (CLUTTER_FEATURE_SWAP_EVENTS)); g_assert (!clutter_feature_available (CLUTTER_FEATURE_SWAP_EVENTS));
return 0; return 0;
} }
return CLUTTER_STAGE_WINDOW_GET_IFACE (window)->get_pending_swaps (window); return iface->get_pending_swaps (window);
} }
void void
_clutter_stage_window_add_redraw_clip (ClutterStageWindow *window, _clutter_stage_window_add_redraw_clip (ClutterStageWindow *window,
ClutterGeometry *stage_clip) ClutterGeometry *stage_clip)
{ {
ClutterStageWindowIface *iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window); ClutterStageWindowIface *iface;
g_return_if_fail (CLUTTER_IS_STAGE_WINDOW (window));
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->add_redraw_clip) if (iface->add_redraw_clip)
iface->add_redraw_clip (window, stage_clip); iface->add_redraw_clip (window, stage_clip);
} }
@ -133,20 +142,28 @@ _clutter_stage_window_add_redraw_clip (ClutterStageWindow *window,
gboolean gboolean
_clutter_stage_window_has_redraw_clips (ClutterStageWindow *window) _clutter_stage_window_has_redraw_clips (ClutterStageWindow *window)
{ {
ClutterStageWindowIface *iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window); ClutterStageWindowIface *iface;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), FALSE);
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->has_redraw_clips) if (iface->has_redraw_clips)
return iface->has_redraw_clips (window); return iface->has_redraw_clips (window);
else
return FALSE; return FALSE;
} }
gboolean gboolean
_clutter_stage_window_ignoring_redraw_clips (ClutterStageWindow *window) _clutter_stage_window_ignoring_redraw_clips (ClutterStageWindow *window)
{ {
ClutterStageWindowIface *iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window); ClutterStageWindowIface *iface;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), FALSE);
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->ignoring_redraw_clips) if (iface->ignoring_redraw_clips)
return iface->ignoring_redraw_clips (window); return iface->ignoring_redraw_clips (window);
else
return TRUE; return TRUE;
} }