2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>

* clutter/clutter-backend.c:
	(_clutter_backend_create_stage): Call _clutter_stage_set_window()
	ourselves, thus removing yet another action that backends must
	implement and might get wrong; also cuts a backend-agnostic piece
	of code duplication.

	* clutter/eglnative/clutter-backend-egl.c:
	(clutter_backend_egl_create_stage): Update the EGL native backend.

	* clutter/eglx/clutter-backend-egl.c:
	(clutter_backend_egl_create_stage): Update the EGLX backend.

	* clutter/fruity/clutter-backend-fruity.c:
	(clutter_backend_egl_create_stage): Update the fruity backend

	* clutter/glx/clutter-backend-glx.c:
	(clutter_backend_glx_create_stage): Update the GLX backend.

	* clutter/sdl/clutter-backend-sdl.c:
	(clutter_backend_sdl_create_stage): Update the SDL backend.

	* HACKING.backends: Update the ::create_stage() description.
This commit is contained in:
Emmanuele Bassi 2008-05-13 10:37:17 +00:00
parent 6022344a80
commit 87ccdacdaf
8 changed files with 29 additions and 19 deletions

View File

@ -1,3 +1,28 @@
2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-backend.c:
(_clutter_backend_create_stage): Call _clutter_stage_set_window()
ourselves, thus removing yet another action that backends must
implement and might get wrong; also cuts a backend-agnostic piece
of code duplication.
* clutter/eglnative/clutter-backend-egl.c:
(clutter_backend_egl_create_stage): Update the EGL native backend.
* clutter/eglx/clutter-backend-egl.c:
(clutter_backend_egl_create_stage): Update the EGLX backend.
* clutter/fruity/clutter-backend-fruity.c:
(clutter_backend_egl_create_stage): Update the fruity backend
* clutter/glx/clutter-backend-glx.c:
(clutter_backend_glx_create_stage): Update the GLX backend.
* clutter/sdl/clutter-backend-sdl.c:
(clutter_backend_sdl_create_stage): Update the SDL backend.
* HACKING.backends: Update the ::create_stage() description.
2008-05-13 Emmanuele Bassi <ebassi@openedhand.com> 2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/x11/clutter-event-x11.c (event_translate): Remove the * clutter/x11/clutter-event-x11.c (event_translate): Remove the

View File

@ -105,13 +105,8 @@ can be overridden:
-- This function is used to create the stage implementation. It will -- This function is used to create the stage implementation. It will
receive as an argument the ClutterStage instance that is "wrapping" receive as an argument the ClutterStage instance that is "wrapping"
the actual implementation being created. The backend must create the actual implementation being created. The backend must create
its stage implementation and call _clutter_stage_set_window() with its stage implementation, initialise it and then return it; in case
the wrapper and the stage implementation instance: of error, the backend must return NULL and set the passed GError.
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (impl));
in case of error, the backend must return NULL and set the passed
GError.
Implementing the stage Implementing the stage
---------------------- ----------------------

View File

@ -163,6 +163,8 @@ _clutter_backend_create_stage (ClutterBackend *backend,
if (!stage) if (!stage)
return NULL; return NULL;
g_assert (CLUTTER_IS_STAGE_WINDOW (stage));
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
_clutter_stage_manager_add_stage (context->stage_manager, wrapper); _clutter_stage_manager_add_stage (context->stage_manager, wrapper);
return stage; return stage;

View File

@ -98,8 +98,6 @@ clutter_backend_egl_create_stage (ClutterBackend *backend,
stage_egl->backend = backend_egl; stage_egl->backend = backend_egl;
stage_egl->wrapper = wrapper; stage_egl->wrapper = wrapper;
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
backend_egl->stage = CLUTTER_ACTOR (stage_egl); backend_egl->stage = CLUTTER_ACTOR (stage_egl);
return stage; return stage;

View File

@ -244,9 +244,6 @@ clutter_backend_egl_create_stage (ClutterBackend *backend,
stage_x11->backend = backend_x11; stage_x11->backend = backend_x11;
stage_x11->wrapper = wrapper; stage_x11->wrapper = wrapper;
/* set the pointer back into the wrapper */
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
CLUTTER_NOTE (MISC, "EGLX stage created (display:%p, screen:%d, root:%u)", CLUTTER_NOTE (MISC, "EGLX stage created (display:%p, screen:%d, root:%u)",
stage_x11->xdpy, stage_x11->xdpy,
stage_x11->xscreen, stage_x11->xscreen,

View File

@ -97,8 +97,6 @@ clutter_backend_egl_create_stage (ClutterBackend *backend,
stage_egl->backend = backend_egl; stage_egl->backend = backend_egl;
stage_egl->wrapper = wrapper; stage_egl->wrapper = wrapper;
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
backend_egl->stage = CLUTTER_ACTOR (stage_egl); backend_egl->stage = CLUTTER_ACTOR (stage_egl);
return stage; return stage;

View File

@ -476,9 +476,6 @@ clutter_backend_glx_create_stage (ClutterBackend *backend,
stage_x11->backend = backend_x11; stage_x11->backend = backend_x11;
stage_x11->wrapper = wrapper; stage_x11->wrapper = wrapper;
/* set the pointer back into the wrapper */
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
CLUTTER_NOTE (BACKEND, "GLX stage created (display:%p, screen:%d, root:%u)", CLUTTER_NOTE (BACKEND, "GLX stage created (display:%p, screen:%d, root:%u)",
stage_x11->xdpy, stage_x11->xdpy,
stage_x11->xscreen, stage_x11->xscreen,

View File

@ -93,8 +93,6 @@ clutter_backend_sdl_create_stage (ClutterBackend *backend,
stage_sdl = CLUTTER_STAGE_SDL (stage); stage_sdl = CLUTTER_STAGE_SDL (stage);
stage_sdl->wrapper = wrapper; stage_sdl->wrapper = wrapper;
_clutter_stage_set_window (wrapper, CLUTTER_STAGE_WINDOW (stage));
backend_sdl->stage = stage_sdl; backend_sdl->stage = stage_sdl;
return stage; return stage;