Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 448228 | Differences between
and this patch

Collapse All | Expand All

(-)src/polkitbackend/polkitbackendjsauthority.c (-3 / +27 lines)
Lines 183-188 Link Here
183
static JSBool          (*dJS_StrictPropertyStub)(JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval *vp);
183
static JSBool          (*dJS_StrictPropertyStub)(JSContext *cx, JSObject *obj, jsid id, JSBool strict, jsval *vp);
184
static void            (*dJS_TriggerOperationCallback)(JSContext *cx);
184
static void            (*dJS_TriggerOperationCallback)(JSContext *cx);
185
185
186
static JS_PUBLIC_DATA(jsval) *dJSVAL_NULL;
187
static JS_PUBLIC_DATA(jsval) *dJSVAL_ZERO;
188
static JS_PUBLIC_DATA(jsval) *dJSVAL_ONE;
189
static JS_PUBLIC_DATA(jsval) *dJSVAL_FALSE;
190
static JS_PUBLIC_DATA(jsval) *dJSVAL_TRUE;
191
static JS_PUBLIC_DATA(jsval) *dJSVAL_VOID;
192
186
#define DJS_SYMBOL(x) {#x, (void*) &d ## x}
193
#define DJS_SYMBOL(x) {#x, (void*) &d ## x}
187
static const struct {
194
static const struct {
188
  const char *name;
195
  const char *name;
Lines 228-235 Link Here
228
  DJS_SYMBOL(JS_ShutDown),
235
  DJS_SYMBOL(JS_ShutDown),
229
  DJS_SYMBOL(JS_StrictPropertyStub),
236
  DJS_SYMBOL(JS_StrictPropertyStub),
230
  DJS_SYMBOL(JS_TriggerOperationCallback),
237
  DJS_SYMBOL(JS_TriggerOperationCallback),
238
239
  // Fetch global variable symbols
240
  DJS_SYMBOL(JSVAL_NULL),
241
  DJS_SYMBOL(JSVAL_ZERO),
242
  DJS_SYMBOL(JSVAL_ONE),
243
  DJS_SYMBOL(JSVAL_FALSE),
244
  DJS_SYMBOL(JSVAL_TRUE),
245
  DJS_SYMBOL(JSVAL_VOID),
231
};
246
};
232
247
248
// Ugly hack to make it use *dJSVAL_NULL instead of JSVAL_NULL directly
249
static JS_ALWAYS_INLINE jsval
250
dOBJECT_TO_JSVAL(JSObject *obj)
251
{
252
    if (obj)
253
        return IMPL_TO_JSVAL(OBJECT_TO_JSVAL_IMPL(obj));
254
    return *dJSVAL_NULL;
255
}
256
233
static gboolean
257
static gboolean
234
djs_init (PolkitBackendJsAuthority *authority)
258
djs_init (PolkitBackendJsAuthority *authority)
235
{
259
{
Lines 238-244 Link Here
238
  guint n;
262
  guint n;
239
  const gchar *library_name;
263
  const gchar *library_name;
240
264
241
  library_name = "libmozjs185.so.1.0";
265
  library_name = "libmozjs187.so.1.0";
242
  module = g_module_open (library_name, 0);
266
  module = g_module_open (library_name, 0);
243
  if (module == NULL)
267
  if (module == NULL)
244
    goto out;
268
    goto out;
Lines 790-796 Link Here
790
814
791
  array_object = dJS_NewArrayObject (authority->priv->cx, (jsint) len, jsvals);
815
  array_object = dJS_NewArrayObject (authority->priv->cx, (jsint) len, jsvals);
792
816
793
  value_jsval = OBJECT_TO_JSVAL (array_object);
817
  value_jsval = dOBJECT_TO_JSVAL (array_object);
794
  dJS_SetProperty (authority->priv->cx, obj, name, &value_jsval);
818
  dJS_SetProperty (authority->priv->cx, obj, name, &value_jsval);
795
819
796
  g_free (jsvals);
820
  g_free (jsvals);
Lines 1368-1374 Link Here
1368
1392
1369
  ret = JS_TRUE;
1393
  ret = JS_TRUE;
1370
1394
1371
  JS_SET_RVAL (cx, vp, JSVAL_VOID);  /* return undefined */
1395
  JS_SET_RVAL (cx, vp, *dJSVAL_VOID);  /* return undefined */
1372
 out:
1396
 out:
1373
  return ret;
1397
  return ret;
1374
}
1398
}

Return to bug 448228