44 lines
1.6 KiB
Diff
44 lines
1.6 KiB
Diff
diff --git src/scripts.c src/scripts.c
|
|
index 16784fc..71efc50 100644
|
|
--- src/scripts.c
|
|
+++ src/scripts.c
|
|
@@ -3231,16 +3231,17 @@ sutil_checksum(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, s
|
|
if (original == NULL)
|
|
return NIL;
|
|
|
|
+ double dtype;
|
|
GChecksumType type = G_CHECKSUM_SHA256;
|
|
if (argc > 1)
|
|
{
|
|
- type = JSValueToNumber(ctx, argv[1], exc);
|
|
- if (isnan(type))
|
|
+ dtype = JSValueToNumber(ctx, argv[1], exc);
|
|
+ if (isnan(dtype))
|
|
{
|
|
ret = NIL;
|
|
goto error_out;
|
|
}
|
|
- type = MIN(MAX(type, G_CHECKSUM_MD5), G_CHECKSUM_SHA256);
|
|
+ type = MIN(MAX((GChecksumType)dtype, G_CHECKSUM_MD5), G_CHECKSUM_SHA256);
|
|
}
|
|
checksum = g_compute_checksum_for_data(type, original, -1);
|
|
|
|
@@ -6247,11 +6248,14 @@ gobject_unblock_signal(JSContextRef ctx, JSObjectRef function, JSObjectRef this,
|
|
static JSValueRef
|
|
gobject_disconnect(JSContextRef ctx, JSObjectRef function, JSObjectRef this, size_t argc, const JSValueRef argv[], JSValueRef* exc)
|
|
{
|
|
- int id;
|
|
- if (argc > 0 && JSValueIsNumber(ctx, argv[0]) && !isnan(id = JSValueToNumber(ctx, argv[0], exc)))
|
|
+ if (argc == 0) {
|
|
+ return JSValueMakeBoolean(ctx, false);
|
|
+ }
|
|
+ double id = JSValueToNumber(ctx, argv[0], exc);
|
|
+ if (!isnan(id))
|
|
{
|
|
GObject *o = JSObjectGetPrivate(this);
|
|
- if (o != NULL && g_signal_handler_is_connected(o, id))
|
|
+ if (o != NULL && g_signal_handler_is_connected(o, (int)id))
|
|
{
|
|
sigdata_remove(id, o);
|
|
g_signal_handler_disconnect(o, id);
|