backend: Do not call ensure_context() with NULL stage

Always call ensure_context() if we have a valid Stage.

https://bugzilla.gnome.org/show_bug.cgi?id=652566
This commit is contained in:
Emmanuele Bassi 2011-06-14 15:50:42 +01:00
parent 0b20739232
commit 81e9bf6127

View File

@ -478,18 +478,18 @@ _clutter_backend_ensure_context (ClutterBackend *backend,
new_stage);
}
_clutter_backend_ensure_context_internal (backend, new_stage);
/* XXX: Until Cogl becomes fully responsible for backend windows
* Clutter need to manually keep it informed of the current window size
*
* NB: This must be done after we ensure_context above because Cogl
* always assumes there is a current GL context.
*/
if (new_stage)
if (new_stage != NULL)
{
float width, height;
_clutter_backend_ensure_context_internal (backend, new_stage);
clutter_actor_get_size (CLUTTER_ACTOR (stage), &width, &height);
cogl_onscreen_clutter_backend_set_size (width, height);
@ -501,7 +501,8 @@ _clutter_backend_ensure_context (ClutterBackend *backend,
* switch between stages.
*
* This dirty mechanism will ensure they are asserted before
* the next paint... */
* the next paint...
*/
_clutter_stage_dirty_viewport (stage);
_clutter_stage_dirty_projection (stage);
}
@ -509,7 +510,7 @@ _clutter_backend_ensure_context (ClutterBackend *backend,
/* FIXME: With a NULL stage and thus no active context it may make more
* sense to clean the context but then re call with the default stage
* so at least there is some kind of context in place (as to avoid
* potential issue of GL calls with no context)
* potential issue of GL calls with no context).
*/
current_context_stage = new_stage;
}