commit cebd6e39ca9f37615f20fb9f36b19b92333b2fbb Author: Emmanuele Bassi Date: Mon Mar 22 11:48:35 2010 +0000 Release Clutter 1.2.4 NEWS | 23 +++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) commit b14495ec0d2b55449c71b3871e676d60be842970 Author: Adel Gadllah Date: Sun Mar 21 13:12:58 2010 +0100 Make sure GLX_SGI_swap_control is set up correctly glXSwapIntervalSGI only affects buffer swaps to the current GLX drawable. That means that calling it once in clutter_backend_glx_get_features isn't sufficent, so set it up in clutter_backend_glx_ensure_context to make sure it affects buffer swaps for the current drawable. http://bugzilla.openedhand.com/show_bug.cgi?id=2044 Signed-off-by: Emmanuele Bassi (cherry picked from commit 5de85051c324449b813adc43186f249f75289858) clutter/glx/clutter-backend-glx.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit f0cf7a96d84b241213f1272c51405a205ed05787 Author: Owen W. Taylor Date: Fri Mar 19 18:18:17 2010 +0000 glx: Clean up the clip area conditions Move the size check after the NULL check, add the clip height into the check logic and fix up the comment. http://bugzilla.openedhand.com/show_bug.cgi?id=2040 Signed-off-by: Emmanuele Bassi (cherry picked from commit 2fc8ecdb92e80e16510048c56bb07e5b87427f26) clutter/glx/clutter-stage-glx.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) commit 5210f83bb979d020d114850ccb2b367ddb26aaa7 Author: Emmanuele Bassi Date: Fri Mar 19 11:39:23 2010 +0000 glx: Do not access stage_clip without checking it The stage_clip parameter for add_redraw_clip() can be NULL, so we need to check before accessing its members. (cherry picked from commit a39cef41b85ca6f38f3e9c95fbd18de990f73b7f) Signed-off-by: Emmanuele Bassi clutter/glx/clutter-stage-glx.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit 222443484fdbcc48646b1f8522e86eebb80acaaa Author: Owen W. Taylor Date: Tue Mar 16 20:38:53 2010 -0400 Switch texture units before calling _cogl_texture_set_filters() When setting up the state for a layer, we need to switch texture units before we do anything that might bind the texture, or we'll bind the wrong texture to the previous unit. http://bugzilla.openedhand.com/show_bug.cgi?id=2033 Signed-off-by: Emmanuele Bassi (cherry picked from commit 913c187f4e611aac71360863ca67640e4cfd1d41) clutter/cogl/cogl/cogl-material.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) commit 293a4d884a6b81051b7485bbc57f41e6d6981fcc Author: Emmanuele Bassi Date: Fri Mar 19 11:20:46 2010 +0000 Fix errors in keeping track of the stage bounding rectangle (This commit has been slightly modified, since we cannot add new API to the 1.2 branch) * Add new private _clutter_geometry_union(), because writing union intersection is harder than it looks. Fixes two problems with the inline code in clutter_stage_glx_add_redraw_clip(). 1) The ->x and ->y of were reassigned to before using them to compute the new width and height. 2) since ClutterGeometry has unsigned width, x + width is unsigned, and comparison goes wrong if either rectangle has a negative x + width. (We fixed width for GdkRectangle to be signed for GTK+-2.0, this is a potent source of bugs.) * Use in clutter_stage_glx_add_redraw_clip() * Account for the case where the incoming rectangle is empty, and don't end up with the stage being entirely redrawn. * Account for the case where the stage already has a degenerate width and don't end up with redrawing only the new rectangle and not the rest of the stage. The better fix here for the second two problems is to stop using a 0 width to mean the entire stage, but this should work for now. http://bugzilla.openedhand.com/show_bug.cgi?id=2040 Signed-off-by: Emmanuele Bassi (cherry picked from commit d21b7522f825d913317a8e62b86314a7737c7e43) clutter/clutter-actor.c | 29 +++++++++++++++++++++++++++++ clutter/clutter-private.h | 5 +++++ clutter/glx/clutter-stage-glx.c | 26 +++++++------------------- 3 files changed, 41 insertions(+), 19 deletions(-) commit 1d49ea118d17cb392e4ffd25892a81fcac566228 Author: Owen W. Taylor Date: Wed Mar 17 15:39:55 2010 -0400 Set pixel store parameters before calling glGetTexImage We need to set up the rowstride and alignment properly in CoglTexture2D before reading texture data. http://bugzilla.openedhand.com/show_bug.cgi?id=2036 Signed-off-by: Emmanuele Bassi (cherry picked from commit bfd2b19290dc021862ee542c80ddd4e21a20cfef) clutter/cogl/cogl/cogl-texture-2d.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 08c96148034415f9467fe7b88e6c7fe13cc0a36a Author: Emmanuele Bassi Date: Wed Mar 17 17:28:20 2010 +0000 Add error reporting for create_context() failures We kind of assume that stuff will break well before during the ClutterBackend::create_context() implementation if we fail to create a GL context. We do, however, have error reporting in place inside the Backend API to catch those cases. Unfortunately, since we switched to lazy initialization of the Stage, there can be a case of GL context creation failure that still leads to a successful initialization - and a segmentation fault later on. This is clearly Not Good™. Let's try to catch a failure in all the places calling create_context() and report back to the user the error in a meaningful way, before crashing and burning. (cherry picked from commit bf7e6ae587adaf3321ed56ec407ed2d432805f57) Signed-off-by: Emmanuele Bassi clutter/clutter-backend.c | 20 +++++++++++++++++++- clutter/clutter-feature.c | 11 +++++++---- clutter/clutter-main.c | 3 ++- clutter/clutter-private.h | 2 +- 4 files changed, 29 insertions(+), 7 deletions(-) commit e08f16eaab94a4c286a007bcf1ee6bebf6273cb4 Author: Emmanuele Bassi Date: Wed Mar 17 17:14:08 2010 +0000 model: Let get_n_columns() return a sane value If you call get_n_columns() during the instance initialization phase but before set_name()/set_types() have been called, you'll get a (guint) -1. This is less than ideal. If columns haven't been initialized we should just return 0, which was the intent of the API since the beginning. Based on a patch by: Bastian Winkler Signed-off-by: Emmanuele Bassi (cherry picked from commit d735ac4807b556e3444ed9611691e44b00ddd915) clutter/clutter-model.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) commit 7da603a8ca883114ebaaf182b4fb16b875cdbd82 Author: Emmanuele Bassi Date: Tue Mar 16 18:57:28 2010 +0000 model: Add a comment on the n_columns field type To avoid another bug report like: http://bugzilla.openedhand.com/show_bug.cgi?id=2017 with a patch that gets applied without a proper review, resulting in a bug like: http://bugzilla.openedhand.com/show_bug.cgi?id=2032 I should probably add a comment on why on earth we're using an integer as the n_columns member of the ClutterModelPrivate structure, and why it is important that it is initialized as -1. (cherry picked from commit 0a6497a3b6c4219e6a6a9310849159b00c864671) Signed-off-by: Emmanuele Bassi clutter/clutter-model.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit 0b80f22b04cf69b80fdab7f7f417ef88dccbbc7e Author: Emmanuele Bassi Date: Tue Mar 16 18:53:24 2010 +0000 Revert "model: Use guint for the n_columns field" The int storage, and the initial value of -1, is used as a guard when subclassing ClutterListModel to allow the sub-class to call clutter_model_set_names() and clutter_model_set_types(). This reverts commit c274118a8f7ed18e5bc703e614a9ea0a7cdb553c. (cherry picked from commit de4abfac955641de9218d272e6aea1a8c618a577) Signed-off-by: Emmanuele Bassi clutter/clutter-model.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 4e946f538ca2871346a0fa3e918de439ac74ecc0 Author: Emmanuele Bassi Date: Mon Mar 15 16:40:50 2010 +0000 Post-release version bump to 1.2.3 configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)