Merge lp:~jbicha/ubuntu/oneiric/gjs/1.29.18 into lp:ubuntu/oneiric/gjs

Proposed by Jeremy Bícha
Status: Merged
Merge reported by: Sebastien Bacher
Merged at revision: not available
Proposed branch: lp:~jbicha/ubuntu/oneiric/gjs/1.29.18
Merge into: lp:ubuntu/oneiric/gjs
Diff against target: 428 lines (+110/-40)
11 files modified
.pc/.quilt_patches (+1/-0)
.pc/.quilt_series (+1/-0)
.pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in (+0/-18)
.pc/applied-patches (+0/-1)
configure (+14/-14)
configure.ac (+2/-2)
debian/changelog (+7/-0)
debian/libgjs0c.symbols (+1/-0)
gi/object.c (+4/-0)
gjs/context.c (+78/-5)
gjs/context.h (+2/-0)
To merge this branch: bzr merge lp:~jbicha/ubuntu/oneiric/gjs/1.29.18
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+76441@code.launchpad.net
To post a comment you must log in.
50. By Jeremy Bícha

* New upstream release.
* debian/libgjs0c.symbols: Add 1 new symbol

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your work there

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.pc/.quilt_patches'
2--- .pc/.quilt_patches 1970-01-01 00:00:00 +0000
3+++ .pc/.quilt_patches 2011-09-21 16:48:23 +0000
4@@ -0,0 +1,1 @@
5+debian/patches
6
7=== added file '.pc/.quilt_series'
8--- .pc/.quilt_series 1970-01-01 00:00:00 +0000
9+++ .pc/.quilt_series 2011-09-21 16:48:23 +0000
10@@ -0,0 +1,1 @@
11+series
12
13=== added directory '.pc/01_remove_rpath_flags.patch'
14=== removed directory '.pc/01_remove_rpath_flags.patch'
15=== added file '.pc/01_remove_rpath_flags.patch/.timestamp'
16=== added file '.pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in'
17--- .pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in 1970-01-01 00:00:00 +0000
18+++ .pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in 2011-09-21 16:48:23 +0000
19@@ -0,0 +1,18 @@
20+prefix=@prefix@
21+exec_prefix=@exec_prefix@
22+libdir=@libdir@
23+bindir=@bindir@
24+includedir=@includedir@
25+datarootdir=@datarootdir@
26+datadir=@datadir@
27+
28+jsdir=@gjsjsdir@
29+jsnativedir=@gjsnativedir@
30+
31+Cflags: -I${includedir}/gjs-1.0
32+Libs: @GJS_INTERNALS_LIBS@
33+Requires: gjs-1.0 gobject-introspection-1.0 @JS_PACKAGE@
34+
35+Name: gjs-internals-1.0
36+Description: Internal API for gjs (for modules and embedders); uses mozjs
37+Version: @VERSION@
38
39=== removed file '.pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in'
40--- .pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in 2011-07-22 21:56:42 +0000
41+++ .pc/01_remove_rpath_flags.patch/gjs-internals-1.0.pc.in 1970-01-01 00:00:00 +0000
42@@ -1,18 +0,0 @@
43-prefix=@prefix@
44-exec_prefix=@exec_prefix@
45-libdir=@libdir@
46-bindir=@bindir@
47-includedir=@includedir@
48-datarootdir=@datarootdir@
49-datadir=@datadir@
50-
51-jsdir=@gjsjsdir@
52-jsnativedir=@gjsnativedir@
53-
54-Cflags: -I${includedir}/gjs-1.0
55-Libs: @GJS_INTERNALS_LIBS@
56-Requires: gjs-1.0 gobject-introspection-1.0 @JS_PACKAGE@
57-
58-Name: gjs-internals-1.0
59-Description: Internal API for gjs (for modules and embedders); uses mozjs
60-Version: @VERSION@
61
62=== added file '.pc/applied-patches'
63--- .pc/applied-patches 1970-01-01 00:00:00 +0000
64+++ .pc/applied-patches 2011-09-21 16:48:23 +0000
65@@ -0,0 +1,1 @@
66+01_remove_rpath_flags.patch
67
68=== removed file '.pc/applied-patches'
69--- .pc/applied-patches 2011-07-22 21:56:42 +0000
70+++ .pc/applied-patches 1970-01-01 00:00:00 +0000
71@@ -1,1 +0,0 @@
72-01_remove_rpath_flags.patch
73
74=== modified file 'configure'
75--- configure 2011-09-06 09:45:58 +0000
76+++ configure 2011-09-21 16:48:23 +0000
77@@ -1,6 +1,6 @@
78 #! /bin/sh
79 # Guess values for system-dependent variables and create Makefiles.
80-# Generated by GNU Autoconf 2.68 for gjs 1.29.17.
81+# Generated by GNU Autoconf 2.68 for gjs 1.29.18.
82 #
83 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gjs>.
84 #
85@@ -571,8 +571,8 @@
86 # Identity of this package.
87 PACKAGE_NAME='gjs'
88 PACKAGE_TARNAME='gjs'
89-PACKAGE_VERSION='1.29.17'
90-PACKAGE_STRING='gjs 1.29.17'
91+PACKAGE_VERSION='1.29.18'
92+PACKAGE_STRING='gjs 1.29.18'
93 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gjs'
94 PACKAGE_URL=''
95
96@@ -1375,7 +1375,7 @@
97 # Omit some internal or obsolete options to make the list less imposing.
98 # This message is too long to be a string in the A/UX 3.1 sh.
99 cat <<_ACEOF
100-\`configure' configures gjs 1.29.17 to adapt to many kinds of systems.
101+\`configure' configures gjs 1.29.18 to adapt to many kinds of systems.
102
103 Usage: $0 [OPTION]... [VAR=VALUE]...
104
105@@ -1445,7 +1445,7 @@
106
107 if test -n "$ac_init_help"; then
108 case $ac_init_help in
109- short | recursive ) echo "Configuration of gjs 1.29.17:";;
110+ short | recursive ) echo "Configuration of gjs 1.29.18:";;
111 esac
112 cat <<\_ACEOF
113
114@@ -1453,7 +1453,7 @@
115 --disable-option-checking ignore unrecognized --enable/--with options
116 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
117 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
118- --enable-maintainer-mode enable make rules and dependencies not useful
119+ --disable-maintainer-mode disable make rules and dependencies not useful
120 (and sometimes confusing) to the casual installer
121 --enable-silent-rules less verbose build output (undo: `make V=1')
122 --disable-silent-rules verbose build output (undo: `make V=0')
123@@ -1589,7 +1589,7 @@
124 test -n "$ac_init_help" && exit $ac_status
125 if $ac_init_version; then
126 cat <<\_ACEOF
127-gjs configure 1.29.17
128+gjs configure 1.29.18
129 generated by GNU Autoconf 2.68
130
131 Copyright (C) 2010 Free Software Foundation, Inc.
132@@ -2079,7 +2079,7 @@
133 This file contains any messages produced by compilers while
134 running configure, to aid debugging if configure makes a mistake.
135
136-It was created by gjs $as_me 1.29.17, which was
137+It was created by gjs $as_me 1.29.18, which was
138 generated by GNU Autoconf 2.68. Invocation command line was
139
140 $ $0 $@
141@@ -2894,7 +2894,7 @@
142
143 # Define the identity of the package.
144 PACKAGE='gjs'
145- VERSION='1.29.17'
146+ VERSION='1.29.18'
147
148
149 cat >>confdefs.h <<_ACEOF
150@@ -2947,13 +2947,13 @@
151
152
153
154-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
155-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
156+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to disable maintainer-specific portions of Makefiles" >&5
157+$as_echo_n "checking whether to disable maintainer-specific portions of Makefiles... " >&6; }
158 # Check whether --enable-maintainer-mode was given.
159 if test "${enable_maintainer_mode+set}" = set; then :
160 enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
161 else
162- USE_MAINTAINER_MODE=no
163+ USE_MAINTAINER_MODE=yes
164 fi
165
166 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
167@@ -17790,7 +17790,7 @@
168 # report actual input values of CONFIG_FILES etc. instead of their
169 # values after options handling.
170 ac_log="
171-This file was extended by gjs $as_me 1.29.17, which was
172+This file was extended by gjs $as_me 1.29.18, which was
173 generated by GNU Autoconf 2.68. Invocation command line was
174
175 CONFIG_FILES = $CONFIG_FILES
176@@ -17856,7 +17856,7 @@
177 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
178 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
179 ac_cs_version="\\
180-gjs config.status 1.29.17
181+gjs config.status 1.29.18
182 configured by $0, generated by GNU Autoconf 2.68,
183 with options \\"\$ac_cs_config\\"
184
185
186=== modified file 'configure.ac'
187--- configure.ac 2011-09-06 09:45:58 +0000
188+++ configure.ac 2011-09-21 16:48:23 +0000
189@@ -3,7 +3,7 @@
190
191 m4_define(pkg_major_version, 1)
192 m4_define(pkg_minor_version, 29)
193-m4_define(pkg_micro_version, 17)
194+m4_define(pkg_micro_version, 18)
195 m4_define(pkg_version, pkg_major_version.pkg_minor_version.pkg_micro_version)
196
197 AC_PREREQ(2.61)
198@@ -16,7 +16,7 @@
199 AC_SUBST([GETTEXT_PACKAGE])
200 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [The name of the gettext domain])
201
202-AM_MAINTAINER_MODE
203+AM_MAINTAINER_MODE([enable])
204 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
205
206 # our first pkg-config invocation is conditional, ensure macros still work
207
208=== modified file 'debian/changelog'
209--- debian/changelog 2011-09-06 09:45:58 +0000
210+++ debian/changelog 2011-09-21 16:48:23 +0000
211@@ -1,3 +1,10 @@
212+gjs (1.29.18-0ubuntu1) oneiric; urgency=low
213+
214+ * New upstream release.
215+ * debian/libgjs0c.symbols: Add 1 new symbol
216+
217+ -- Jeremy Bicha <jbicha@ubuntu.com> Wed, 21 Sep 2011 12:38:48 -0400
218+
219 gjs (1.29.17-0ubuntu1) oneiric; urgency=low
220
221 * New upstream release.
222
223=== modified file 'debian/libgjs0c.symbols'
224--- debian/libgjs0c.symbols 2011-08-17 17:02:38 +0000
225+++ debian/libgjs0c.symbols 2011-09-21 16:48:23 +0000
226@@ -75,6 +75,7 @@
227 gjs_context_define_string_array@Base 0.7.1
228 gjs_context_eval@Base 0.7.1
229 gjs_context_eval_file@Base 0.7.1
230+ gjs_context_gc@Base 1.29.18
231 gjs_context_get_all@Base 0.7.1
232 gjs_context_get_native_context@Base 0.7.1
233 gjs_context_get_type@Base 0.7.1
234
235=== modified file 'gi/object.c'
236--- gi/object.c 2011-07-22 21:56:42 +0000
237+++ gi/object.c 2011-09-21 16:48:23 +0000
238@@ -674,6 +674,7 @@
239 if (unthreadsafe_template_for_constructor.gobj == NULL) {
240 GParameter *params;
241 int n_params;
242+ GTypeQuery query;
243
244 gtype = g_registered_type_info_get_g_type( (GIRegisteredTypeInfo*) priv->info);
245 if (gtype == G_TYPE_NONE) {
246@@ -692,6 +693,9 @@
247 priv->gobj = g_object_newv(gtype, n_params, params);
248 free_g_params(params, n_params);
249
250+ g_type_query(gtype, &query);
251+ JS_updateMallocCounter(context, query.instance_size);
252+
253 if (G_IS_INITIALLY_UNOWNED(priv->gobj) &&
254 !g_object_is_floating(priv->gobj)) {
255 /* GtkWindow does not return a ref to caller of g_object_new.
256
257=== modified file 'gjs/context.c'
258--- gjs/context.c 2011-09-06 09:45:58 +0000
259+++ gjs/context.c 2011-09-21 16:48:23 +0000
260@@ -56,6 +56,8 @@
261 guint prop_id,
262 const GValue *value,
263 GParamSpec *pspec);
264+static JSBool gjs_on_context_gc (JSContext *cx,
265+ JSGCStatus status);
266
267 struct _GjsContext {
268 GObject parent;
269@@ -70,7 +72,10 @@
270
271 char **search_path;
272
273- unsigned int we_own_runtime : 1;
274+ guint idle_emit_gc_id;
275+
276+ guint we_own_runtime : 1;
277+ guint gc_notifications_enabled : 1;
278 };
279
280 struct _GjsContextClass {
281@@ -79,19 +84,19 @@
282
283 G_DEFINE_TYPE(GjsContext, gjs_context, G_TYPE_OBJECT);
284
285-#if 0
286 enum {
287+ SIGNAL_GC,
288 LAST_SIGNAL
289 };
290
291 static int signals[LAST_SIGNAL];
292-#endif
293
294 enum {
295 PROP_0,
296 PROP_JS_VERSION,
297 PROP_SEARCH_PATH,
298- PROP_RUNTIME
299+ PROP_RUNTIME,
300+ PROP_GC_NOTIFICATIONS
301 };
302
303
304@@ -335,6 +340,22 @@
305 PROP_JS_VERSION,
306 pspec);
307
308+ pspec = g_param_spec_boolean("gc-notifications",
309+ "",
310+ "Whether or not to emit the \"gc\" signal",
311+ FALSE,
312+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
313+
314+ g_object_class_install_property(object_class,
315+ PROP_GC_NOTIFICATIONS,
316+ pspec);
317+
318+ signals[SIGNAL_GC] = g_signal_new("gc", G_TYPE_FROM_CLASS(klass),
319+ G_SIGNAL_RUN_LAST, 0,
320+ NULL, NULL,
321+ NULL,
322+ G_TYPE_NONE, 0);
323+
324 gjs_register_native_module("byteArray", gjs_define_byte_array_stuff, 0);
325 }
326
327@@ -386,6 +407,11 @@
328
329 js_context = GJS_CONTEXT(object);
330
331+ if (js_context->idle_emit_gc_id > 0) {
332+ g_source_remove (js_context->idle_emit_gc_id);
333+ js_context->idle_emit_gc_id = 0;
334+ }
335+
336 if (js_context->search_path != NULL) {
337 g_strfreev(js_context->search_path);
338 js_context->search_path = NULL;
339@@ -674,6 +700,9 @@
340 /* For GjsDBus */
341 g_irepository_prepend_search_path(PKGLIBDIR);
342
343+ if (js_context->gc_notifications_enabled)
344+ JS_SetGCCallback(js_context->context, gjs_on_context_gc);
345+
346 JS_EndRequest(js_context->context);
347
348 g_static_mutex_lock (&contexts_lock);
349@@ -697,6 +726,9 @@
350 case PROP_JS_VERSION:
351 g_value_set_string(value, js_context->jsversion_string);
352 break;
353+ case PROP_GC_NOTIFICATIONS:
354+ g_value_set_boolean(value, js_context->gc_notifications_enabled);
355+ break;
356 default:
357 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
358 break;
359@@ -727,7 +759,9 @@
360 else
361 js_context->jsversion_string = g_value_dup_string(value);
362 break;
363-
364+ case PROP_GC_NOTIFICATIONS:
365+ js_context->gc_notifications_enabled = g_value_get_boolean(value);
366+ break;
367 default:
368 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
369 break;
370@@ -866,6 +900,45 @@
371 }
372
373 /**
374+ * gjs_context_gc:
375+ * @context: a #GjsContext
376+ *
377+ * Initiate a full GC; may or may not block until complete. This
378+ * function just calls Spidermonkey JS_GC().
379+ */
380+void
381+gjs_context_gc (GjsContext *context)
382+{
383+ JS_GC(context->context);
384+}
385+
386+static gboolean
387+gjs_context_idle_emit_gc (gpointer data)
388+{
389+ GjsContext *gjs_context = data;
390+
391+ gjs_context->idle_emit_gc_id = 0;
392+
393+ g_signal_emit (gjs_context, signals[SIGNAL_GC], 0);
394+
395+ return FALSE;
396+}
397+
398+static JSBool
399+gjs_on_context_gc (JSContext *cx,
400+ JSGCStatus status)
401+{
402+ GjsContext *gjs_context = JS_GetContextPrivate(cx);
403+
404+ if (status == JSGC_END) {
405+ if (gjs_context->idle_emit_gc_id == 0)
406+ gjs_context->idle_emit_gc_id = g_idle_add (gjs_context_idle_emit_gc, gjs_context);
407+ }
408+
409+ return TRUE;
410+}
411+
412+/**
413 * gjs_context_get_all:
414 *
415 * Returns a newly-allocated list containing all known instances of #GjsContext.
416
417=== modified file 'gjs/context.h'
418--- gjs/context.h 2011-02-27 00:27:14 +0000
419+++ gjs/context.h 2011-09-21 16:48:23 +0000
420@@ -75,6 +75,8 @@
421
422 void gjs_context_maybe_gc (GjsContext *context);
423
424+void gjs_context_gc (GjsContext *context);
425+
426 void gjs_dumpstack (void);
427
428 G_END_DECLS

Subscribers

People subscribed via source and target branches

to all changes: