actor: Add more checks to the redraw queue

This commit is contained in:
Emmanuele Bassi 2010-10-15 16:05:44 +01:00
parent ad0e7a9e15
commit 2b4ee9ab54
2 changed files with 12 additions and 6 deletions

View File

@ -7648,11 +7648,11 @@ clutter_actor_get_paint_visibility (ClutterActor *actor)
static gboolean
invalidate_queue_redraw_entry (ClutterActor *self,
void *user_data)
gpointer user_data)
{
ClutterActorPrivate *priv = self->priv;
if (priv->queue_redraw_entry)
if (priv->queue_redraw_entry != NULL)
_clutter_stage_queue_redraw_entry_invalidate (priv->queue_redraw_entry);
return TRUE;

View File

@ -3237,11 +3237,17 @@ free_queue_redraw_entry (ClutterStageQueueRedrawEntry *entry)
}
void
_clutter_stage_queue_redraw_entry_invalidate (
ClutterStageQueueRedrawEntry *entry)
_clutter_stage_queue_redraw_entry_invalidate (ClutterStageQueueRedrawEntry *entry)
{
g_object_unref (entry->actor);
entry->actor = NULL;
if (entry == NULL)
return;
if (entry->actor != NULL)
{
g_object_unref (entry->actor);
entry->actor = NULL;
}
if (entry->has_clip)
{
clutter_paint_volume_free (&entry->clip);