commit e03106d8d3ae328186d35eb41bb47048d7dadd31 Author: Alan Knowles Date: Sun Mar 31 22:45:52 2013 +0800 Adding ondemand for reference - Standard seed loads all properties into the namespace when you reference it, this patch file changes the behaviour so a fake namespace object is created, then when you request properties, the objects are created (eg. ctors/classes/enums etc..) The net effect of this is a shared memory reduction of around 20M when using a few key namespaces (eg. Gtk ... etc..) Still not close to gjs memory but a small improvement.. ondemand.namespace.diff | 697 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 697 insertions(+) commit d4c63f31cb0d310754df21e4150a838604ac07ba Author: Alban Crequy Date: Wed Feb 6 14:49:10 2013 +0000 support signals with annotated types https://bugzilla.gnome.org/show_bug.cgi?id=695857 libseed/seed-closure.c | 16 ++++++++++++--- libseed/seed-closure.h | 8 ++++++++ libseed/seed-signals.c | 26 +++++++++++++++++++++--- libseed/seed-types.c | 51 +++++++++++++++++++++++++++++++++++++++++++++--- libseed/seed-types.h | 4 ++++ 5 files changed, 96 insertions(+), 9 deletions(-) commit c4ee2c531c577622b61d4bb4b8908d186f69be83 Author: Guillaume Desmottes Date: Fri Mar 29 20:59:45 2013 +0800 seed_prepare_global_context: don't include Seed.js if not needed https://bugzilla.gnome.org/show_bug.cgi?id=696547 libseed/seed-engine.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 29462f933d6068fa45281fbc0b47719ef4983c30 Author: Gustavo Noronha Silva Date: Thu Mar 14 17:38:09 2013 -0300 Remove duplicated code, call function instead seed_closure_invoke was a copy of seed_closure_invoke_with_context with just 2 additional statements before and 1 after the same code. This is bad because fixes need to be applied to both, a great oportunity for code reuse. libseed/seed-closure.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) commit 919efb474ed04853b9aff6622148a9be0ddc9a68 Author: Gustavo Noronha Silva Date: Thu Mar 14 17:27:08 2013 -0300 Append user data to the new arguments array, not the source one This code was previously adding a new item to the passed in array instead of appending it to the newly created array, causing a buffer overflow that sometimes ends in stack corruption and a crash. https://bugzilla.gnome.org/show_bug.cgi?id=695876 libseed/seed-closure.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit afdf68ea8bc6a039e2d5d9fe047f4953f58f8a3b Author: Alan Knowles Date: Wed Feb 27 07:48:36 2013 +0800 part fix to bug #694458 - first step to getting make check working - passes most tests, just need to add fix module lookup path libseed/seed-signals.c | 2 ++ tests/javascript/Makefile.am | 3 +++ tests/javascript/gtypes/Makefile.am | 4 ++++ tests/javascript/signals/Makefile.am | 4 ++++ tests/javascript/structs/Makefile.am | 3 +++ 5 files changed, 16 insertions(+) commit 2d56f604a04a784c7948aef586f7926acdd64e95 Author: Alban Crequy Date: Mon Feb 11 16:10:03 2013 +0000 implement hashtables conversion between js and gi values Based on initial patch from Gustavo Noronha https://bugzilla.gnome.org/show_bug.cgi?id=618454 libseed/seed-types.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) commit ebe57fe1fdcff23e1d3f272da39ed49f0e074418 Author: Guillaume Desmottes Date: Tue Jan 29 13:10:09 2013 +0100 add seed_importer_add_search_path() https://bugzilla.gnome.org/show_bug.cgi?id=692794 libseed/seed-importer.c | 22 ++++++++++++++++++++++ libseed/seed.h | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) commit a8d295ef526b8ffe67c4418ecf2c360b61572c58 Author: Alexandre Mazari Date: Tue Aug 30 14:41:10 2011 +0200 Add a GLib namespace extension providing comodities for conversion from/to GVariant. Add Variant.toJSON and Object.toVariant method. Uses json-glib parsing facilities if present, fallbacks to javascript code imported from Gjs otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=657699 extensions/GLib.js | 282 ++++++++++++++++++++++++++++++++++++++ extensions/Makefile.am | 2 +- tests/javascript/glib-variant.js | 66 +++++++++ 3 files changed, 349 insertions(+), 1 deletion(-) commit 7847cbfb332a29d04237df02611515cc6b8710fa Author: Alban Crequy Date: Mon Jan 28 12:47:54 2013 +0000 seed_init_with_context: reuse existing context group When initializing seed with an existing context, reuse its context group rather than creating a new one. Contexts always exist inside a context group. Seed creates a temporary context when importing modules (from GObject introspection or otherwise) and passes variables between the contexts. Contexts must be in the same context group, otherwise the behaviour is undefined. This fixes a crash when creating a new GObject from the javascript code. libseed/seed-engine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9632daec1ad6c5f52ca44d09591bf59034a9f7b2 Author: Alban Crequy Date: Fri Jan 25 16:53:56 2013 +0000 SeedEngine: add missing pthread_key_create libseed has 6 different init functions; some of them are calling pthread_key_create() correctly, but some don't. This patch factorizes the call to pthread_key_create() so it is correctly called whatever the init function used. The bug was found when testing seed_init_with_context_and_group(). Symptoms: when creating a GObject, memory corruption and segfault in thread_memory_swap_magazines(). libseed/seed-engine.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit e9781ebb4c29636b5373500a2e4443e96b12dc2a Author: Alban Crequy Date: Wed Feb 6 15:30:39 2013 +0800 fix binding GStrv to javascript value libseed crashes when converting a GStrv to a javascript value. It happens when the javascript code connects to the "g-properties-changed" GLib signal on GDBusProxy objects. https://bugzilla.gnome.org/show_bug.cgi?id=693217 libseed/seed-types.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9f1c31e475e5b782edca239023eaf0d64ddc37fc Author: Alan Knowles Date: Fri Aug 10 18:55:52 2012 +0800 add backtrace stack to the exception string libseed/seed-exceptions.c | 27 +++++++++++++++++++++++++-- libseed/seed-exceptions.h | 1 + 2 files changed, 26 insertions(+), 2 deletions(-) commit 2076440c15be157ae8a6b16d4e11cce9d92f46b9 Author: Alan Knowles Date: Fri Aug 10 12:16:50 2012 +0800 check if object is abstract before construction - thanks to Ryan Lortie libseed/seed-engine.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit dd6811ccc95b456c5ff42e1ba8508386fdfdba91 Author: Eric Le Bihan Date: Thu Jul 12 18:35:14 2012 +0200 Added support for uint8 array as return type libseed/seed-engine.c | 23 +++++++++++++++++------ libseed/seed-types.c | 2 +- 2 files changed, 18 insertions(+), 7 deletions(-) commit 5628064de12cdfd00eecbfe2860a8dc16f67f8d9 Author: Alan Knowles Date: Thu May 17 23:06:40 2012 +0800 major memory reductions by garbage collecting at end of closure (example was timeout loops) - it might be worth exposing this somehow so user space so it can be called manually... libseed/seed-closure.c | 3 +++ 1 file changed, 3 insertions(+) commit cc85c963b0c7571612956f497970670bd6001bc4 Author: Alan Knowles Date: Thu May 17 22:52:45 2012 +0800 remove unused variables / compiler warnings libseed/seed-closure.c | 5 ----- 1 file changed, 5 deletions(-) commit 0db29c68a1e52bee7763fdb212f2591bfb9c125e Author: Alan Knowles Date: Thu May 17 19:09:05 2012 +0800 creating a JSRef to find the length value appears to cause segfaults - replacing with simpler code.. - libseed/seed-engine.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) commit 1993cf2b458041d78fd44a4ec0bac72d103ee5c6 Author: Alan Knowles Date: Thu May 17 00:55:24 2012 +0800 fix ref code for iface_info broken by refactoring libseed/seed-engine.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 0cd15d095eac8b62bbafa3f8379a954b52d52cbc Author: Alan Knowles Date: Thu May 17 00:44:07 2012 +0800 initialize and free jchar in binary string, Im still not sure this is the correct way to do string creation, need to run some tests to ensure it really works libseed/seed-types.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit c2f0ce8819b652b2e0e68a6b56d6d2a02525bbd5 Author: Alan Knowles Date: Thu May 17 00:39:36 2012 +0800 refactor main call code, remove quite a few redundant ifdefs, keep track of caller allocations so they can be freed on failure libseed/seed-engine.c | 302 +++++++++++++++++++++++++------------------------ 1 file changed, 156 insertions(+), 146 deletions(-) commit 2a90188b7465e3d22c89cf4d882b699daa7f15d2 Author: Alan Knowles Date: Sun May 13 22:30:43 2012 +0800 free binary strings always, this is a bit risky, as it assumes that when we see an array of c uints and its used as a binary string, we should always free it... - Im not sure if it should really check transfer settings.. - but this will crash badly if it is not right... libseed/seed-types.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit b136ca762daa8dd3500c735cda39d3d31c4d4c19 Author: Alan Knowles Date: Sun May 13 11:34:51 2012 +0800 finally get the code right to handle array length offset information libseed/seed-engine.c | 31 +++++++++++++++++++++++++++---- libseed/seed-types.c | 26 ++++++++++++-------------- libseed/seed-types.h | 2 +- 3 files changed, 40 insertions(+), 19 deletions(-) commit 1e537cdba82557298cf074fc00cd6eab7b4c8098 Author: Alan Knowles Date: Sat May 12 18:20:01 2012 +0800 rename with_length to _full, since relay of calling for enums sent the wrong data, and got the wrong result.. libseed/seed-engine.c | 8 +++++--- libseed/seed-types.c | 23 ++++++++++++++--------- libseed/seed-types.h | 5 +++-- 3 files changed, 22 insertions(+), 14 deletions(-) commit d4319e6bca21966c9b5caf758cb38941f1a7500d Author: Alan Knowles Date: Sat May 12 18:03:47 2012 +0800 enum types are not all long any more, we need to check the type and recurse to return the right type.. libseed/seed-types.c | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) commit 1e627f78a58b06b629ac1718212fa3f3f50fd338 Author: Alan Knowles Date: Fri May 11 08:00:44 2012 +0800 tidy up of binary string support, should now solve quite a few of the short string issues with NULL chars in libseed/seed-types.c | 98 ++++++++++++++++++++++++++++---------------------- 1 file changed, 55 insertions(+), 43 deletions(-) commit 47e939b716deb6ec6774c05fc3bd7d00812bc336 Author: Alan Knowles Date: Fri May 11 00:16:16 2012 +0800 Very hacky support for , used by GLib.file_get_contents in latest girs libseed/seed-engine.c | 26 +++++++++++++++++++--- libseed/seed-types.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++-- libseed/seed-types.h | 5 +++++ 3 files changed, 83 insertions(+), 5 deletions(-) commit 18008514b4763d4941db6af37056f8a1e5fdfa20 Author: Alan Knowles Date: Sat Jan 28 23:28:05 2012 +0800 xorg module - libxss check has bad error message configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 730b0e62854204175dd248e7ae61306348d4d882 Author: Alan Knowles Date: Wed Nov 30 22:52:49 2011 +0800 xorg module - close display after using it modules/xorg/seed-xorg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 67484737433bcf5263194d84ae3f0c2526cccc3d Author: Alan Knowles Date: Wed Nov 30 22:17:57 2011 +0800 Add an xorg extension (experimental) - at present only has one function to get the screen idle time... configure.ac | 31 ++++++++++++++++++ modules/Makefile.am | 2 +- modules/xorg/Makefile.am | 29 +++++++++++++++++ modules/xorg/seed-xorg.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 140 insertions(+), 1 deletion(-) commit 3219a9691653127330d364cda7833454dc6cb7b9 Author: Alan Knowles Date: Tue Nov 29 17:02:26 2011 +0800 fix #653077 - fix for webkit 1.0 configure (Dominique Leuenberger) configure.ac | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit b254df57d964317c37ebdeab5f875c8de8d4adf9 Author: Sunil Mohan Adapa Date: Tue Nov 8 15:48:08 2011 +0530 Fix #637248 - Add support for implicitly converting GObject to GValue libseed/seed-types.c | 10 +++++++++- tests/javascript/gvalue-argument.js | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) commit 89cac4a4d27b7a1be462b80bc44fe84c82f06869 Author: Alan Knowles Date: Wed Nov 9 09:26:10 2011 +0800 fix #663609 - documentation on seed_value_* now matches actual return values libseed/seed-types.c | 110 +++++++++++++++++--------------------------------- 1 file changed, 37 insertions(+), 73 deletions(-) commit 2717feb7db0e8516deb3fbe32c8e4204f9722887 Author: Alan Knowles Date: Thu Nov 3 15:17:05 2011 +0800 fix #663289 - gtype signal parsing not resetting param count libseed/seed-gtype.c | 6 ++++- tests/javascript/gtypes/Makefile.am | 2 ++ .../gtypes/gtype-signal-order-bug663289.js | 25 ++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) commit 6d38e2b5601f8097e3a99da647b46d2048ce160d Author: Alan Knowles Date: Mon Oct 3 15:10:08 2011 +0800 fix most of #660644 - except function-info.js (my gdb is broken) tests/javascript/Makefile.am | 2 - tests/javascript/everything.js | 71 ------------------------- tests/javascript/function-info.js | 4 +- tests/javascript/gdk-event.js | 11 ++-- tests/javascript/gvalue-argument.js | 9 ++-- tests/javascript/introspect.js | 4 +- tests/javascript/native-closure-exception.js | 2 +- tests/javascript/object-info.js | 12 ++--- tests/javascript/structs/struct-enumerate.js | 13 ++--- tests/javascript/structs/struct-nested-set.js | 15 +++--- 10 files changed, 36 insertions(+), 107 deletions(-) commit 5a9cd3d9ab1fd5e24478ba63d593866542b49927 Author: Alan Knowles Date: Mon Oct 3 15:02:00 2011 +0800 allow [ GObject.GTYPE_INT, 10 ] syntax to work again for not-null elements libseed/seed-engine.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) commit 1ec48efc03df9368a59f501dfd1de9c9b15f016c Author: Alan Knowles Date: Fri Sep 23 14:08:06 2011 +0800 fix #659548 - stop CFLAGS getting unconditionally overwritten configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f382387b9b56d72adbc6888f924e3838a1a94668 Author: Funda Wang Date: Fri Sep 23 13:58:33 2011 +0800 fix #659910 - fix linkage against libgio - broken by webkit going... configure.ac | 3 +++ libseed/Makefile.am | 1 + 2 files changed, 4 insertions(+) commit 09fe24d64c6fe4259884fa9f72bb2bc58a21290a Author: Tim Horton Date: Wed Sep 21 21:36:25 2011 -0700 Postrelease version bump. configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)