commit 09d5c309ca95f68425919fdd1a41a14f41e4053b Author: Emmanuele Bassi Date: Tue Jan 11 20:29:30 2011 +0000 Release 1.5.12 configure.ac | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) commit 676df42c6fefd28a6da2c1cefd885d6fa4d59da1 Author: Robert Bragg Date: Tue Jan 11 14:10:11 2011 +0000 pipeline: don't skip flush if skip_gl_color flag differs We try and bail out of flushing pipeline state asap if we can see the pipeline has already been flushed and hasn't changed but we weren't checking to see if the skip_gl_color flag is the same as when it was last flush too and so we'd sometimes bail out without updating the glColor correctly. clutter/cogl/cogl/cogl-pipeline-opengl.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit b922ac605962df6b1cf86a0e710294be114f62c4 Author: Damien Lespiau Date: Tue Jan 11 14:15:46 2011 +0000 test-shader: Fix the edge-detect shader cogl_text_coord_in in a array to access the texture units. In this case we want to sample texture unit 0, where the texture is. tests/interactive/test-shader.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 38e527a3cf2527a46461eb76c6598071daf95053 Author: Neil Roberts Date: Mon Jan 10 20:13:41 2011 +0000 cogl-vertex-attribute: Optionally avoid applying the legacy state When an item is added to the journal the current pipeline immediately gets the legacy state applied to it and the modified pipeline is logged instead of the original. However the actual drawing from the journal is done using the vertex attribute API which was also applying the legacy state. This meant that the legacy state used would be a combination of the state set when the journal entry was added as well as the state set when the journal is flushed. To fix this there is now an extra CoglDrawFlag to avoid applying the legacy state when setting up the GL state for the vertex attributes. The journal uses this flag when flushing. clutter/cogl/cogl/cogl-journal.c | 3 ++- clutter/cogl/cogl/cogl-vertex-attribute-private.h | 6 +++++- clutter/cogl/cogl/cogl-vertex-attribute.c | 6 ++++-- 3 files changed, 11 insertions(+), 4 deletions(-) commit cb49197d0101aa32fa3bb0f8948c1952f5ccae33 Author: Emmanuele Bassi Date: Tue Jan 11 12:38:52 2011 +0000 Update the NEWS file NEWS | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit f4fc7284ebeaedfb60d9903b41177f59a4907b85 Author: Bastian Winkler Date: Mon Jan 3 16:15:17 2011 +0100 script-parser: Also honor properties of type GType The script parser should also handle GType properties. http://bugzilla.clutter-project.org/show_bug.cgi?id=2513 clutter/clutter-script-parser.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit 8e3d9c21c643091bd537a2674eeaa86255167cc9 Author: Emmanuele Bassi Date: Tue Jan 11 11:49:11 2011 +0000 Update NEWS file NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) commit f2080f099e2a05b05cd0adb2f204c1917adae0f2 Author: Damien Lespiau Date: Tue Jan 11 10:23:59 2011 +0000 shader: Don't notify properties when finalizing shaders clutter_shader_finalize() was calling clutter_shader_release() which in turn notifies "compiled". GObject was complaining that we were trying to _ref() an object that was in _finalize(). #0 g_log (log_domain=0x3e15c4 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=0x76c938 "%s: assertion `%s' failed") at gmessages.h:97 #1 0x0070777d in g_return_if_fail_warning ( log_domain=0x3e15c4 "GLib-GObject", pretty_function=0x3e37a4 "g_object_ref", expression=0x3e2a00 "object->ref_count > 0") at gmessages.c:586 #2 0x003b862b in g_object_ref (_object=0x8567af0) at gobject.c:2615 #3 0x003bd238 in g_object_notify_by_pspec (object=0x8567af0, pspec=0x87ea2f0) at gobject.c:1075 #4 0x00b6500b in clutter_shader_release (shader=0x8567af0) at ./clutter-shader.c:612 #5 0x00b659b9 in clutter_shader_finalize (object=0x8567af0) at ./clutter-shader.c:107 Then, let's split release in two, with an _internal() version that does not notify "compiled" and use it from dispose (as the object is still usable after a call to release_internal(). http://bugzilla.clutter-project.org/show_bug.cgi?id=2512 clutter/clutter-shader.c | 61 ++++++++++++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 24 deletions(-) commit 3625adb9d8188464b27ddf3e1203214ea2952092 Author: Tomeu Vizoso Date: Mon Jan 10 19:13:03 2011 +0100 ClutterListModel: Implement get_n_rows for improved performance The default implementation in ClutterModel iterates through all the elements. http://bugzilla.clutter-project.org/show_bug.cgi?id=2511 clutter/clutter-list-model.c | 13 +++++++++ clutter/clutter-model.c | 56 +++++++++++++++++++++--------------------- 2 files changed, 41 insertions(+), 28 deletions(-) commit 850f956d4e2a811eb663575dcd6ae41f09b992de Author: Adel Gadllah Date: Wed Jan 5 10:24:26 2011 +0100 ClutterAlignConstraint: Keep pixel aligment We have to round the values here otherwise we might end up with misaligned actors. http://bugzilla.clutter-project.org/show_bug.cgi?id=2508 clutter/clutter-align-constraint.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit d648de7d1492b9ae69aac6702a99fccb8f92b165 Author: Neil Roberts Date: Tue Dec 14 14:44:45 2010 +0000 cogl-journal: Avoid enabling blending if possible The vertex attribute API assumes that if there is a color array enabled then we can't determine if the colors are opaque so we have to enable blending. The journal always uses a color array to avoid switching color state between rectangles. Since the journal switched to using vertex attributes this means we effectively always enable blending from the journal. To fix this there is now a new flag for _cogl_draw_vertex_attributes to specify that the color array is known to only contain opaque colors which causes the draw function not to copy the pipeline. If the pipeline has blending disabled then the journal passes this flag. http://bugzilla.clutter-project.org/show_bug.cgi?id=2481 clutter/cogl/cogl/cogl-journal.c | 9 ++++++--- clutter/cogl/cogl/cogl-vertex-attribute-private.h | 9 ++++++++- clutter/cogl/cogl/cogl-vertex-attribute.c | 10 ++++++---- 3 files changed, 20 insertions(+), 8 deletions(-) commit 159cd6ddc02b4a9a37fe7e0a61a104d3abab91a6 Author: Neil Roberts Date: Tue Dec 14 14:24:17 2010 +0000 cogl-vertex-attribute: Add flags to _cogl_draw_vertex_attributes_array There is an internal version of cogl_draw_vertex_attributes_array which previously just bypassed the framebuffer flushing, journal flushing and pipeline validation so that it could be used to draw the journal. This patch generalises the function so that it takes a set of flags to specify which parts to flush. The public version of the function now just calls the internal version with the flags set to 0. The '_real' version of the function has now been merged into the internal version of the function because it was only called in one place. This simplifies the code somewhat. The common code which flushed the various state has been moved to a separate function. The indexed versions of the functions have had a similar treatment. http://bugzilla.clutter-project.org/show_bug.cgi?id=2481 clutter/cogl/cogl/cogl-journal.c | 17 ++- clutter/cogl/cogl/cogl-primitives.c | 6 +- clutter/cogl/cogl/cogl-vertex-attribute-private.h | 13 ++- clutter/cogl/cogl/cogl-vertex-attribute.c | 167 ++++++++------------- clutter/cogl/cogl/cogl2-path.c | 14 +- 5 files changed, 100 insertions(+), 117 deletions(-) commit 0201e5fa97549ffb2d20a1180e63e5a7a73fa7e2 Author: Neil Roberts Date: Fri Dec 17 16:30:23 2010 +0000 cogl: Don't assume that CoglBitmaps are allocated to height*rowstride Cogl no longer has any code that assumes the buffer in a CoglBitmap is allocated to the full size of height*rowstride. We should comment that this is the case so that we remember to keep it that way. This is important for cogl_texture_new_from_data because the application may have created the data from a sub-region of a larger image and in that case it's not safe to read the full rowstride of the last row when the sub region contains the last row of the larger image. http://bugzilla.clutter-project.org/show_bug.cgi?id=2491 clutter/cogl/cogl/cogl-bitmap-pixbuf.c | 60 +++++-------------------------- clutter/cogl/cogl/cogl-bitmap-private.h | 8 ++++ 2 files changed, 17 insertions(+), 51 deletions(-) commit e1cbef23f5118c748eb38c16ebb00de3f51686b7 Author: Neil Roberts Date: Fri Dec 17 16:09:26 2010 +0000 cogl-texture-driver-gles: Don't copy the bitmap if alignment matches When uploading data for GLES we need to deal with cases where the rowstride is too large to be described only by GL_UNPACK_ALIGNMENT because there is no GL_UNPACK_ROW_LENGTH. Previously for the sub-region uploading code it would always copy the bitmap and for the code to upload the whole image it would copy the bitmap unless the rowstride == bpp*width. Neither paths took into account that we don't need to copy if the rowstride is just an alignment of bpp*width. This moves the bitmap copying code to a separate function that is used by both upload methods. It only copies the bitmap if the rowstride is not just an alignment of bpp*width. http://bugzilla.clutter-project.org/show_bug.cgi?id=2491 .../cogl/driver/gles/cogl-texture-driver-gles.c | 103 +++++++++++--------- 1 files changed, 55 insertions(+), 48 deletions(-) commit b3058c097dfb834018ab3598d002a7be595e78ff Author: Neil Roberts Date: Fri Dec 17 16:06:10 2010 +0000 cogl-util: Add an internal wrapper for the ffs function The ffs function is defined in C99 so if we want to use it in Cogl we need to provide a fallback for MSVC. This adds a configure check for the function and then a fallback using a while loop if it is not available. http://bugzilla.clutter-project.org/show_bug.cgi?id=2491 clutter/cogl/cogl/cogl-util.c | 21 +++++++++++++++++++++ clutter/cogl/cogl/cogl-util.h | 8 ++++++++ configure.ac | 4 ++++ 3 files changed, 33 insertions(+), 0 deletions(-) commit 91c16023066b3d71ed569e0dcb97bdd0fe8b4667 Author: Neil Roberts Date: Fri Dec 17 14:52:25 2010 +0000 cogl-texture: Don't use the source rowstride if we have to copy bitmap If we have to copy the bitmap to do the premultiplication then we were previously using the rowstride of the source image as the rowstride for the new image. This is wasteful if the source image is a subregion of a larger image which would make it use a large rowstride. If we have to copy the data anyway we might as well compact it to the smallest rowstride. This also prevents the copy from reading past the end of the last row of pixels. An internal function called _cogl_bitmap_copy has been added to do the copy. It creates a new bitmap with the smallest possible rowstride rounded up the nearest multiple of 4 bytes. There may be other places in Cogl that are currently assuming we can read height*rowstride of the source buffer so they may want to take advantage of this function too. http://bugzilla.clutter-project.org/show_bug.cgi?id=2491 clutter/cogl/cogl/cogl-bitmap-private.h | 4 ++++ clutter/cogl/cogl/cogl-bitmap.c | 29 +++++++++++++++++++++++++++++ clutter/cogl/cogl/cogl-texture.c | 22 +--------------------- 3 files changed, 34 insertions(+), 21 deletions(-) commit c6fbc8c567ebe7eb538e53c0a5964db4ff6aebf2 Author: Neil Roberts Date: Wed Dec 22 01:45:09 2010 +0000 cogl-vertex-attribute: Fix the name of the cogl_normal_in attribute The builtin vertex attribute for the normals was incorrectly checked for as 'cogl_normal' however it is defined as cogl_normal_in in the shader boilerplate and for the name generated by CoglVertexBuffer. http://bugzilla.clutter-project.org/show_bug.cgi?id=2499 clutter/cogl/cogl/cogl-vertex-attribute.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 2c36b81996565f6128a55d5c12fee75a53c0a027 Author: Emmanuele Bassi Date: Mon Jan 10 14:03:35 2011 +0000 container: Do not use Actor as prerequisite The prerequisite for ClutterContainer in 1.x is GObject, and we cannot restrict the prerequisites without an ABI break. clutter/clutter-container.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6bb81a542fd2876c472c0287d368b1ba404324bf Author: nobled Date: Tue Jan 4 13:56:05 2011 +0000 egl: Fix build for --with-flavour=opengl-egl-xlib Make sure the EGL backend doesn't forget to include desktop OpenGL headers. clutter/egl/clutter-egl-headers.h | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) commit 530bc2aa70ca83c56f46342d337ce873614353a4 Author: nobled Date: Tue Jan 4 13:59:48 2011 +0000 egl: Don't use obsolete API Fixes a GCC "implicit declaration of function" warning when compiling. clutter/egl/clutter-stage-egl.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 8c23766da809701bc171fcb9b3650475b1d03a73 Author: Kristian Høgsberg Date: Thu Jan 6 07:57:26 2011 -0500 x11: Create the list of all devices correctly Linked lists are tricky. clutter/x11/clutter-device-manager-x11.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit bf0dd2cbcc83d91ef46301aa18bd5f0158b88d22 Author: Emmanuele Bassi Date: Thu Dec 30 12:49:41 2010 +0000 test-text-field: Grab key focus on the first entry So that you can start typing right away. tests/interactive/test-text-field.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit 2fe20ff3c505d3c1249b03ba7eaa1515f13a3c0a Author: Emmanuele Bassi Date: Tue Dec 28 22:21:09 2010 +0000 osx: Implement the set_accept_focus() vfunc Like the x11 and win32 backends, the quartz backend should allow setting the key focus when showing the stage window. clutter/osx/clutter-stage-osx.c | 29 +++++++++++++++++++++++------ clutter/osx/clutter-stage-osx.h | 2 ++ 2 files changed, 25 insertions(+), 6 deletions(-) commit 9d6a33d0c835e8a91e42303886123e34e60576f5 Author: Emmanuele Bassi Date: Tue Dec 28 18:04:00 2010 +0000 win32: Implement the set_accept_focus() vfunc Implement the ClutterStageWindow::set_accept_focus() virtual function in the win32 backend. If accept_focus is set to be TRUE then we call SetforegroundWindow() after calling ShowWindow(). This is similar to what GDK does when dealing with the same situation. http://bugzilla.clutter-project.org/show_bug.cgi?id=2500 clutter/win32/clutter-stage-win32.c | 21 +++++++++++++++++++-- clutter/win32/clutter-stage-win32.h | 8 +++++--- 2 files changed, 24 insertions(+), 5 deletions(-) commit 497f39e2f40e816c1e7ceaa3bf2fb4e609436b35 Author: Emmanuele Bassi Date: Tue Dec 28 17:38:39 2010 +0000 x11: Implement the set_accept_focus() vfunc Actually set the InputHint flag and set the input field of the WM_SPEC hints depending on the value of the accept-focus bitfield. http://bugzilla.clutter-project.org/show_bug.cgi?id=2500 clutter/x11/clutter-stage-x11.c | 20 ++++++++++++++++---- clutter/x11/clutter-stage-x11.h | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) commit bbede9fef579000a48309bec017303bd8c46ccae Author: Emmanuele Bassi Date: Tue Dec 28 17:37:18 2010 +0000 stage: Add :accept-focus property and accessors Allow the developer to set whether the Stage should receive key focus when mapped. The implementation is fully backend-dependent. The default value is TRUE because that's what we've been expecting so far. http://bugzilla.clutter-project.org/show_bug.cgi?id=2500 clutter/clutter-stage.c | 67 +++++++++++++++++++++++++++- clutter/clutter-stage.h | 4 ++ doc/reference/clutter/clutter-sections.txt | 2 + 3 files changed, 72 insertions(+), 1 deletions(-) commit e1cd6f49b2afcb1738ee2e95f03aa77b8c696e7b Author: Emmanuele Bassi Date: Tue Dec 28 17:36:27 2010 +0000 stage-window: Add set_accept_focus() vfunc Allow Stage implementations to set whether or not they want to accept key focus when being shown. http://bugzilla.clutter-project.org/show_bug.cgi?id=2500 clutter/clutter-stage-window.c | 12 ++++++++++++ clutter/clutter-stage-window.h | 6 ++++++ 2 files changed, 18 insertions(+), 0 deletions(-) commit 601b958ab1b162176c7dde318a96f279be995e64 Author: Johan Bilien Date: Wed Dec 29 16:49:13 2010 -0500 Fixed a crash when destroying the actor of a LEAVE event When processing a LEAVE event, one might destroy the actor, so the weak reference device->actor would be NULL. http://bugzilla.clutter-project.org/show_bug.cgi?id=2502 Signed-off-by: Emmanuele Bassi clutter/clutter-input-device.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) commit 2911d3db535db98f7c0352e3ea40f2a7e65d82ea Author: Nguyễn Thái Ngọc Duy Date: Thu Dec 30 08:16:10 2010 +0700 autogen.sh: make autoreconf use automake-1.11 when available This patch exports $ACLOCAL and $AUTOMAKE, otherwise autoreconf may use an older version instead. Signed-off-by: Nguyễn Thái Ngọc Duy http://bugzilla.clutter-project.org/show_bug.cgi?id=2504 autogen.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit c95cc8d477ab26fd6231becdd062a81fa7ee6115 Author: Johan Bilien Date: Wed Dec 29 16:57:02 2010 -0500 Only reset the relayout_pending flag when actually doing a relayout If an actor is (unfortunately) queuing a relayout in relayout, you would end up with (ClutterActor*)stage->needs_allocation set to TRUE and stage->relayout_pending set to TRUE. But if then in the same cycle, an actor calls clutter_actor_get_allocation_box, that will trigger another (recursive) _clutter_stage_maybe_relayout, which will wrongly reset the relayout pending to FALSE, while not actually performing a new relayout because of the re-entrancy protection. http://bugzilla.clutter-project.org/show_bug.cgi?id=2503 clutter/clutter-stage.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit b6558c5a1848b306c26813bc5f5015eb95c541d1 Author: Emmanuele Bassi Date: Wed Dec 22 09:42:41 2010 +0000 docs: Fixes for the Cogl API reference clutter/cogl/cogl/cogl-bitmap.h | 4 +- clutter/cogl/cogl/cogl-buffer.h | 8 +++--- clutter/cogl/cogl/cogl-index-array.h | 2 +- clutter/cogl/cogl/cogl-material-compat.h | 11 ++++---- clutter/cogl/cogl/cogl-object.h | 19 +++++++------- clutter/cogl/cogl/cogl-path.h | 8 +++--- clutter/cogl/cogl/cogl-pipeline.h | 2 +- clutter/cogl/cogl/cogl-types.h | 4 +- clutter/cogl/cogl/cogl-vertex-array.h | 2 +- clutter/cogl/cogl/cogl-vertex-buffer.h | 2 +- doc/reference/cogl/cogl-sections.txt | 39 ++++++++++++++++++++++++++--- 11 files changed, 67 insertions(+), 34 deletions(-) commit 533880a1a5140d507db0f1a11d211c74ee0260f6 Author: Emmanuele Bassi Date: Tue Dec 21 12:03:38 2010 +0000 build: Ignore private headers when building the Cogl reference Otherwise gtk-doc will try to look up private symbols. doc/reference/cogl/Makefile.am | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) commit 91cc8edba12c0e43ba69b055e5b46394b9d51917 Author: Emmanuele Bassi Date: Tue Dec 21 10:51:39 2010 +0000 test-text-field: Do not expand the labels tests/interactive/test-text-field.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) commit 605e8d6fb50624b44b45f012b24cea7c302f78ea Author: Emmanuele Bassi Date: Tue Dec 21 10:50:24 2010 +0000 text: Only paint cursor if we have key focus If a Text actor does not have key focus then there's no point in showing the cursor at all. clutter/clutter-text.c | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) commit ec5e910cd376050bdd184cf970fa565e10764525 Author: Emmanuele Bassi Date: Mon Dec 20 17:59:35 2010 +0000 test-text-field: Clean up Use a Table layout manager, and clean up a bit this test case. tests/interactive/test-text-field.c | 96 ++++++++++++++++++++-------------- 1 files changed, 56 insertions(+), 40 deletions(-) commit 21a12b966dbf72d2e83265399ac8d380b281df7f Author: Emmanuele Bassi Date: Mon Dec 20 12:41:07 2010 +0000 interactive: Remove test-bind The BindConstraint is already exercised in the test-constraints and in other interactive tests. tests/interactive/Makefile.am | 1 - tests/interactive/test-bind.c | 112 ----------------------------------------- 2 files changed, 0 insertions(+), 113 deletions(-) commit b9f7ef11100f250767fd726b0ae9727a7e9a3f89 Author: Emmanuele Bassi Date: Sat Dec 18 21:33:37 2010 +0000 build: Remove Cogl2 reference from the build scripts Keeping the Cogl 2.0 API reference in the build is getting far more troublesome than it's worth. It's breaking distcheck far too often, and it makes it impossible to rebuild the build environment from tarballs - which is something that some distributions (namely: the Debian-based ones, but not limited to them) do in order to change build scripts using their own rules. configure.ac | 16 ---------------- doc/reference/Makefile.am | 6 ------ 2 files changed, 0 insertions(+), 22 deletions(-) commit 491bbc226ee52546507406714030a9647dde4280 Author: Emmanuele Bassi Date: Sat Dec 18 13:24:54 2010 +0000 constraints: Remove signal handlers on dispose Same as commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df but done for AlignConstraint and SnapConstraint as well. clutter/clutter-align-constraint.c | 24 +++++++++++++++++++++--- clutter/clutter-bind-constraint.c | 4 ++-- clutter/clutter-snap-constraint.c | 29 +++++++++++++++++++++++------ 3 files changed, 46 insertions(+), 11 deletions(-) commit 2fa8b3a3abc7bb8e96a85d927edc0594f44f55df Author: Emmanuele Bassi Date: Sat Dec 18 13:16:23 2010 +0000 bind-constraint: Remove handlers in dispose We should remove the signal handlers on the source actor when a BindConstraint is disposed, to avoid dangling pointers and wrong invocations. http://bugzilla.clutter-project.org/show_bug.cgi?id=2493 clutter/clutter-bind-constraint.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) commit 45c884307e5946e316c839c03d94c5f5c92147d8 Author: Emmanuele Bassi Date: Fri Dec 17 16:04:25 2010 +0000 Post-release version bump to 1.5.11 configure.ac | 2 +- po/clutter-1.0.pot | 104 ++++++++++++++++++++++++++-------------------------- po/de.po | 102 +++++++++++++++++++++++++------------------------- po/fr.po | 102 +++++++++++++++++++++++++------------------------- po/id.po | 102 +++++++++++++++++++++++++------------------------- po/it.po | 102 +++++++++++++++++++++++++------------------------- po/pl.po | 102 +++++++++++++++++++++++++------------------------- po/zh_CN.po | 102 +++++++++++++++++++++++++------------------------- 8 files changed, 359 insertions(+), 359 deletions(-)