// In this way, already scheduled idle tasks are not discarded.
g_source_set_callback(gSrc, __stopMainLoop, this, NULL);
g_source_attach(gSrc, __mainContext);
+ g_source_unref(gSrc);
} else {
__stopMainLoop(this);
}
g_source_set_callback(gSrc, __onUserActivated, this, NULL);
g_source_attach(gSrc, __mainContext);
+ g_source_unref(gSrc);
}
void ServiceBase::notifyUserRemoved()
g_source_set_callback(gSrc, __onUserDeactivated, this, NULL);
g_source_attach(gSrc, __mainContext);
+ g_source_unref(gSrc);
}
gboolean ServiceBase::__onUserActivated(gpointer data)
g_source_set_callback(gSrc, __onGSourceExpired, info, NULL);
g_source_attach(gSrc, __context);
+ g_source_unref(gSrc);
return info->timerId;
}
g_source_set_callback(gSrc, __onGSourceExpired, info, NULL);
g_source_attach(gSrc, __context);
+ g_source_unref(gSrc);
return info->timerId;
}
g_source_set_callback(gSrc, __onAlarmExpired, userData, NULL);
g_source_attach(gSrc, info->timer->__context);
+ g_source_unref(gSrc);
return 0;
}