summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* correct lib locations in *.pc.inclutter-1.4Andreas Mueller2011-02-074-4/+7
| | | | | | | Signed-off-by: Andreas Mueller <schnitzeltony@gmx.de> Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> http://bugzilla.clutter-project.org/show_bug.cgi?id=2549
* test-path: Fix the test when running against latest Cairo versionsNeil Roberts2011-02-011-6/+12
| | | | | | | | | Cairo has recently changed so that it no longer adds a final move-to command when the path ends with a close. This patch makes the test check the run-time version number of Cairo to avoid duplicating this behaviour when testing the conversion to and from a Cairo path. (cherry picked from commit 1d7e2233130b3041cc204fed326087c3a2bc9867)
* cogl-material: Fix comparing the color in set_layer_combine_constantNeil Roberts2011-02-011-10/+11
| | | | | | | | | | | | | | | | | | | In cogl_material_set_layer_combine_constant it was comparing whether the new color is the same as the old color using a memcmp on the constant_color parameter. However the combine constant is stored in the layer data as an array of four floats but the passed in color is a CoglColor (which is currently an array of four guint8s). This was causing valgrind errors and presumably also the check for setting the same color twice would always fail. This patch makes it do the conversion to a float array upfront before the comparison. (cherry picked from commit 5740a5a38a4d0a0b22e62ea0035b8e360c7a6cc0) Conflicts: clutter/cogl/cogl/cogl-pipeline.c
* ClutterTimeline: Fix the 'msecs' parameter for the new-frame signalNeil Roberts2011-01-243-5/+3
| | | | | | | | | | | Between Clutter 0.8 and 1.0, the new-frame signal of ClutterTimeline changed the second parameter to be an elapsed time in milliseconds rather than the frame number. However a few places in clutter were still calling the parameter 'frame_num' which is a bit misleading. Notably the signature for the signal class closure in the header was using the wrong name. This changes them to use 'msecs'. (cherry picked from commit e8d5be0ba79eef766fff723012c5d1994da84b4c)
* clutter-timeline: Emit the new-frame signal even on the first frameNeil Roberts2011-01-241-0/+2
| | | | | | | | | | | | | | | | | ClutterTimeline has special handling for the first time do_tick is called which was not emitting a new-frame signal. This meant that an application which directly uses the timeline would have to manually setup the initial state of an animation after starting a timeline to avoid painting a single frame with the wrong state. It seems to make more sense to instead emit the new-frame signal so that the application always sees a new-frame when the progress changes before a paint. (cherry picked from commit 5c0aaf50a7b3d1914d4580d5f853faa9a4b10f73) Conflicts: clutter/clutter-timeline.c
* animation: Allow transforming values in bind()Emmanuele Bassi2010-12-111-5/+23
| | | | | | | | | | | | | | | | | | | While we do check for compatibility and transformability of a GValue with the GParamSpec value type, we are actually failing really badly at it. First of all, we bail out on the wrong conditions. Then we use the type of the value passed instead of using the type of the property itself. This makes it impossible to actually use transformation functions for GValue types - even those that have been registered by GLib itself - when using the Animation API directly, instead of going through the clutter_actor_animate() wrappers. (cherry picked from commit 54db48dfd1e1b151a3b92e160181f44305e21089) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* clutter-score: Initialize ClutterScoreEntry::complete_idNeil Roberts2010-12-071-0/+1
| | | | | | | | | | When clutter_score_append_at_marker is called instead of clutter_score_append the complete_id field of ClutterScoreEntry was being left uninitialised. When the entry is eventually freed it would sometimes try to disconnect an invalid signal id. This was causing conformance test failures for me on GLES2. (cherry picked from commit f8fc194b3b3529bf4f3230cef00d5d0b042673bf)
* cogl-pipeline-fixed: Use the correct state flag for combine constantNeil Roberts2010-11-301-3/+3
| | | | | | | | | | | | The fixed pipeline backend wasn't correctly flushing the combine constant because it was using the wrong flag to determine if the combine constant has changed since the last flushed material. (cherry picked from commit a38fa7a2dfc3a169777ba172d145178b9b068d73) Conflicts: clutter/cogl/cogl/cogl-material-fixed.c
* cogl-pipeline-opengl: Fix enabling previously disabled unitsNeil Roberts2010-11-301-0/+1
| | | | | | | | | | When enabling a unit that was disabled from a previous flush pipeline it was forgetting to rebind the right texture unit so it wouldn't work. This was causing the redhand to disappear when using the fixed function backend in test-cogl-multitexture if anything else is added to the scene. (cherry picked from commit 499a370ee326ea24fd0fff55466877a6f286d9fd)
* cogl-pipeline: Add more ignored state changes for program generationNeil Roberts2010-11-301-1/+4
| | | | | | | | | | | | | | For shader generation backends we don't need to worry about changes to the texture object and changing the user matrix. The missing user matrix flag was causing test-cogl-multitexture to regenerate the shader every frame. (cherry picked from commit 17a98875d33c872800c04c26338427970b88b308) Conflicts: clutter/cogl/cogl/cogl-material-arbfp.c clutter/cogl/cogl/cogl-pipeline-glsl.c
* Post-release version bump to 1.4.3Emmanuele Bassi2010-11-306-1263/+1277
|
* Release Clutter 1.4.2 (stable)1.4.2Emmanuele Bassi2010-11-301-2/+2
|
* Update NEWSEmmanuele Bassi2010-11-301-0/+46
|
* Discard the current pick buffer...Tomeu Vizoso2010-11-305-12/+32
| | | | | | if we are asked to pick with a different mode. http://bugzilla.clutter-project.org/show_bug.cgi?id=2385
* cookbook: Make example code C90 compliantElliot Smith2010-11-3015-80/+104
| | | | | Modified all cookbook example code to prevent ISO C90 compliance warnings occurring during compilation.
* cookbook: Fix opacity examples in recipeElliot Smith2010-11-301-13/+13
| | | | | | | | | The recipe had examples where opacity was set using fractional numbers. Fixed all examples to use integers only. (cherry picked from commit 63721c5db1bc1c4a53ee2af536ffbd19b015fdb9) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* cookbook: Fix incorrect value for opacityElliot Smith2010-11-301-1/+1
| | | | | | | | Opacity is a guint, so don't use floating point numbers to set its value. (cherry picked from commit f135f2e7d5b7c5304ae4ba91a26f4dc0d5b0c757) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* click-action: don't use pointer grabsLucas Rocha2010-11-301-18/+67
| | | | | | | | | | | The same behavior can be achieved by capturing events on stage while button is pressed. This fixes a problem when using click and drag actions on the same actor as there no grabs involved. http://bugzilla.clutter-project.org/show_bug.cgi?id=2409 (cherry picked from commit 03a713e18e842d29a73f9cefb38e689ceefb35ed) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* text: Do not segfault with NULL :font-nameEmmanuele Bassi2010-11-291-4/+12
| | | | | | | | | | Make sure that we have a fall back in place for the default font name string, and use g_strcmp0 to protect ourselves from NULL strings. http://bugzilla.clutter-project.org/show_bug.cgi?id=2417 (cherry picked from commit e6bc65b5c37c38dbf5a82dea724e2f389e2b481e) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* x11: Ignore NULL settingsEmmanuele Bassi2010-11-291-0/+3
| | | | | | | | | Prevent a segfault when dealing with XSETTINGS_ACTION_DELETE. http://bugzilla.clutter-project.org/show_bug.cgi?id=2441 (cherry picked from commit b8c9ee7e88ca6d1c2e9bc6380740dbf19096e71e) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* actor: Do not queue relayouts on actors being destroyedEmmanuele Bassi2010-11-291-5/+4
| | | | Simple optimization is simple.
* actor: Simple show/hide optimizationsEmmanuele Bassi2010-11-291-20/+45
| | | | | | | | | | Showing a visible (and hiding an invisible) actor is far less cheap than it should be. http://bugzilla.clutter-project.org/show_bug.cgi?id=2422 (cherry picked from commit a731682ac394d1b54b78dec1083d158a71e10f89) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* clutter-offscreen-effect: Don't recreate the material when FBO changesNeil Roberts2010-11-291-7/+5
| | | | | | | | | | | | | Previously whenever the size of the FBO changes it would create a new material and attach the texture to it. This is not good for Cogl because it throws away any cached state for the material. In test-rotate the size of the FBO changes constantly so it effectively uses a new material every paint. For shader effects this also ends up relinking the shader every paint because the linked programs are part of the material state. (cherry picked from commit 6ddb8397110f6e6998e0262e5d3dd604cd93d670) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* Fixed "the the" repetitions in some doc stringsAlexandre Quessy2010-11-297-9/+9
| | | | | | | http://bugzilla.clutter-project.org/show_bug.cgi?id=2450 (cherry picked from commit 01b93537ab9743dfd6aa2f0c3d4499420ee860cd) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* shader-effect: Remove unused functionEmmanuele Bassi2010-11-291-34/+16
| | | | | | | | | The reset_uniforms() internal function is not used any more because the CoglProgram cannot be reset post-creation - hence the uniforms cannot change. (cherry picked from commit 850a35f069368b645ceb8e027b6b27863dba308b) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* ClutterShaderEffect: Don't throw away the program for a new actorNeil Roberts2010-11-291-23/+19
| | | | | | | | | | | | Previously when the shader effect is used with a new actor it would end up throwing away the old program. I don't think this is neccessary and it means if you use an effect to temporarily bind to an actor then it will recompile the shader whenever it is applied. http://bugzilla.clutter-project.org/show_bug.cgi?id=2454 (cherry picked from commit 08087c965bf312513f98a53bf3220e92c372d131) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* ClutterOffscreenEffect: Don't throw away the material for a new actorNeil Roberts2010-11-291-6/+0
| | | | | | | | | | | | | When a new actor is set for ClutterOffscreenEffect it would throw away the old material. I don't think there is anything specifically tied to the actor in the material so throwing away just loses Cogl's cached state about the material. This ends up relinking the shader every time a new actor is set in ClutterShaderEffect. http://bugzilla.clutter-project.org/show_bug.cgi?id=2454 (cherry picked from commit 2dc9e0dc2941a1f805e71a656585037ced0ed721) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* Don't bail out from creating the FBO if we don't have it yet.Tomeu Vizoso2010-11-291-1/+2
| | | | | | This happens when reattaching an effect to another actor. http://bugzilla.clutter-project.org/show_bug.cgi?id=2453
* Set the signal handler to 0 when disconnecting it.Tomeu Vizoso2010-11-291-1/+4
| | | | | | | | | Otherwise we'll try to disconnect it again later. http://bugzilla.clutter-project.org/show_bug.cgi?id=2452 (cherry picked from commit 47d63c1c550776de52841f3d5508f20b48f5d722) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* shader-effect: Zero out ShaderUniformEmmanuele Bassi2010-11-291-2/+1
| | | | | | | | | | | Do not use the compiler to zero the first field of the GValue member, since it's apparently non-portable. As we're allocating memory anyway we can let the slice allocator do the zero-ing for us. Mentioned in: http://bugzilla.clutter-project.org/show_bug.cgi?id=2455 (cherry picked from commit 215d87abe9ccfe98cbf0e5e73f5c8edf4106a7ce) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* text: Optimise get_preferred_height for single-line-modeChris Lord2010-11-291-1/+4
| | | | | | | | | Don't calculate an extra layout in clutter_text_get_preferred_height for single-line strings, when it's unnecessary. There's no need to set the width of a layout when in single-line mode, as wrapping will not happen. (cherry picked from commit 67143bd846c2b39ce94779d7ab2b5bd48e58d1cd) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* x11: Check for initialized context when enabling ARGB visualsEmmanuele Bassi2010-11-241-1/+1
| | | | | | | | | | Instead of using the backend singleton. This allows lazy initialization of Clutter. http://bugzilla.clutter-project.org/show_bug.cgi?id=2435 (cherry picked from commit 446107f19d59ab95c918e566b5d8efdb8c0841c8) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* Fix API docs for ClutterShaderEffectsTomeu Vizoso2010-11-241-4/+3
| | | | | | | | | It can implement now both fragment and vertex shaders. http://bugzilla.clutter-project.org/show_bug.cgi?id=2442 (cherry picked from commit 6a552e27abfa2e0f0705ac935872e5393cdf1fdc) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* Fix compilation failure when using GLES 1.1Robert Ancell2010-11-242-7/+50
| | | | | | | Compilation fails due to stub functions not being defined for GLES 1.1 and undefined types outside #ifdefs. http://bugzilla.clutter-project.org/show_bug.cgi?id=2443
* script: Remove double ":" from a introspection annotationRob Staudinger2010-11-111-1/+1
| | | | | | | | More recent versions of gobject-introspection (>= 0.10) seem to be stricter so clutter_script_get_object() ends up marked not introspectable. http://bugzilla.clutter-project.org/show_bug.cgi?id=2405
* cogl-object: correctly free user_data_array in _unrefRobert Bragg2010-11-111-2/+1
| | | | | | | | | | If there is private data associated with a CoglObject then there may be a user_data_array that needs to be freed. The code was mistakenly freeing the array inside the loop that was actually iterating over the user data array notifying the objects destruction instead of waiting until all the data entries had been destroyed. (cherry picked from commit e5202d6a0da1d94f65ddbe381766d775e1047e26)
* build: Fix CLUTTER_EGL_BACKEND definition for eglnative and cex100Damien Lespiau2010-11-101-1/+2
| | | | | | | | | | | | CLUTTER_EGL_BACKEND is used to define a special EGL native backend to use and was introduced for the CEX100 EGL backend. Unfortunately CLUTTER_EGL_BACKEND was defined to "cex100" for eglnative, which is obviously wrong. The paches defines the right values for CLUTTER_EGL_BACKEND for the eglnative and cex100 flavours. (cherry picked from commit 1c9dcdaeb295867d86a447cfc3df44d4e74d3ae0)
* cogl: Use separate materials for set_source_color and textureNeil Roberts2010-10-283-10/+7
| | | | | | | | | | | | | | | | | | | | | | Previously cogl_set_source_color and cogl_set_source_texture modified a single global material. If an application then mixes using cogl_set_source_color and texture then the material will constantly need a new ARBfp program because the numbers of layers alternates between 0 and 1. This patch just adds a second global material that is only used for cogl_set_source_texture. I think it would still end up flushing the journal if cogl_set_source_texture is used with multiple different textures but at least it should avoid a recompile unless the texture target also changes. It might be nice to somehow attach a material to the CoglTexture for use with cogl_set_source_texture but it would be difficult to implement this without creating a circular reference. (cherry picked from commit 65d7a113eeb0de08ccb402fe4ade14fe82fcaff1) Conflicts: clutter/cogl/cogl/cogl-context.c clutter/cogl/cogl/cogl-context.h
* win32: Fix clutter_win32_disable_event_retrievalNeil Roberts2010-10-253-23/+28
| | | | | | | | | | | | There was previously a flag that gets set when this function was called but nothing checked it so the function effectively did nothing. Also the flag was a member of the backend struct but this can't be used because the function should be called before clutter_init so the backend is not ready yet. This patch makes the event disabling work more like the X11 backend and set a global variable instead. (cherry picked from commit 6da18b6e4f93bb1430698959d6280cb53f9e2ff2)
* clutter-stage: Set the Cogl framebuffer size after allocatingNeil Roberts2010-10-251-4/+8
| | | | | | | | | | | | | | | | | | When handling an allocation on the stage, Clutter uses the oppurtunity to inform Cogl of the new size of the framebuffer so that it can handle the viewport correctly. It queries the size of the window implementation using a backend virtual function. However it was doing this before letting the backend handle the allocation so on Win32 it would end up using the previous framebuffer size. This wasn't affecting the X11 backend because in that case the resizes are asynchronous so setting the stage size causes one allocation which ends up sending a window size request. Eventually a ConfigureNotify is received which causes the size of the stage to be set again and another allocation is fired meaning the framebuffer size will be set again this time with the correct size. In Win32 the resizes are synchronous so we don't have this second allocation. (cherry picked from commit 52744c0d9db6d7f9738d31b6d9f774c0912fcad0)
* cogl-context-winsys: Avoid zero-length arraysNeil Roberts2010-10-251-1/+7
| | | | | | | | | | When compiling for non-glx platforms the winsys feature data array ends up empty. Empty arrays cause problems for MSVC so this patch adds a stub entry so that the array always has at least one entry. Based on a patch by Ole André Vadla Ravnås (cherry picked from commit cc7977988c92ad7fa96f0a1dd0a8581432f090ca)
* Avoid mixing declarations and codeNeil Roberts2010-10-257-48/+63
| | | | | | | | | | | | Mixing declarations and code causes problems for MSVC as it is a C99 feature so we should try to avoid it. (cherry picked from commit f1752ff3ba1828873f7f97f3842eadcc389e87a1) Conflicts: clutter/clutter-stage.c clutter/x11/clutter-event-x11.c
* binding-pool: Use the correct marshallerNeil Roberts2010-10-252-5/+5
| | | | | | | | (cherry picked from commit 276acf5854c0e589eae9a76c78ef1faa50c46caa) Conflicts: clutter/clutter-marshal.list
* interval: Remember to chain up to parent in finalize()Ole André Vadla Ravnås2010-10-251-0/+2
| | | | (cherry picked from commit c792431538e02c05f90f12bd4c36c72cf3f3eab4)
* osx: Add button mask to the modifier state translationRoland Peffer2010-10-141-0/+8
| | | | | | | | | The modifier state translation is missing the CLUTTER_BUTTON*_MASK. http://bugzilla.clutter-project.org/show_bug.cgi?id=2365 Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> (cherry picked from commit d8426197554f4745bc2489c81435b9510b62d21a)
* cogl-texture-2d-sliced: Use the smallest possible wasteNeil Roberts2010-10-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When picking a size for the last slice in a texture, Cogl would always pick the biggest power of two size that doesn't create too much waste and is less than or equal to the previous slice size. However this can end up creating a texture that is bigger than needed if there is a smaller power of two. For example, if the maximum waste is 127 (the current default) and we try to create a texture that is 257 pixels wide it will decide that the next power of two (512) is too much waste (255) so it will create the first slice at 256 pixels wide. Then we only have 1 pixel left to allocate but Cogl would pick the next smaller size that has a small enough waste which is 128. But of course 1 is already a power of two so that's redundantly oversized by 127. This patch fixes it so that whenever it finds a size that would be big enough, instead of using exactly that it picks the next power of two up from the size we need to fill. http://bugzilla.clutter-project.org/show_bug.cgi?id=2355 (cherry picked from commit 7e112472b5ad9deea9b0ad1fda47aa16199a780a)
* cogl-x11: Trap glXDestroyPixmap()Emmanuele Bassi2010-10-041-0/+22
| | | | | | | | | | | | | | | | | | | | | | There are ordering issues in the pixmap destruction with current and past X11 server, Mesa and dri2. Under some circumstances, an X pixmap might be destroyed with the GLX pixmap still referencing it, and thus the X server will decide to destroy the GLX pixmap as well; then, when Cogl tries to destroy the GLX pixmap, it gets BadDrawable errors. Clutter 1.2 used to trap + sync all calls to glXDestroyPixmap(), but then we assumed that the ordering issue had been solved. So, we're back to square 1. I left a Big Fat Comment™ right above the glXDestroyPixmap() call referencing the bug and the reasoning behind the trap, so that we don't go and remove it in the future without checking that the issue has been in fact solved. http://bugzilla.clutter-project.org/show_bug.cgi?id=2324 (cherry picked from commit 6af0ee2cbe2d6584b523809f160f56daf16eb583) Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
* build: Build Cally introspection data after Cogl'sEmmanuele Bassi2010-09-301-1/+1
|
* Update zh_CN translation.Aron Xu2010-09-301-147/+143
| | | | | | Signed-off-by: Aron Xu <aronxu@gnome.org> Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com> (cherry picked from commit c4668f04f745f30657379727424137b62d44248d)
* win32: Fix the CLUTTER_* keysym macrosNeil Roberts2010-09-301-55/+55
| | | | | | | | In 4ee05f8e21d the namespace for the clutter keysym macros were changed to CLUTTER_KEY_* but the win32 events backend was still referring to the old names. (cherry picked from commit d8a9026b842655d23d839a639540bb134f734d84)