data->ecal = g_object_ref (ecal);
data->error = error;
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */
g_idle_add_full (G_PRIORITY_DEFAULT, idle_async_error_reply_cb, data, NULL);
}
signal_data = g_slice_new0 (SignalData);
signal_data->folder = g_object_ref (folder);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
folder_emit_deleted_cb,
signal_data->folder = g_object_ref (folder);
signal_data->folder_name = old_name; /* transfer ownership */
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
folder_emit_renamed_cb,
if (server->parser_thread) {
if (server->parser_thread == g_thread_self ())
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE) */
g_idle_add_full (G_PRIORITY_HIGH, &join_helper, server->parser_thread, NULL);
else
g_thread_join (server->parser_thread);
session = camel_service_get_session (service);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
service_notify_connection_status_cb,
(G_TYPE_INSTANCE_GET_PRIVATE \
((obj), CAMEL_TYPE_SESSION, CamelSessionPrivate))
+/* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
#define JOB_PRIORITY G_PRIORITY_DEFAULT
#define d(x)
signal_data->store = g_object_ref (store);
signal_data->folder_info = camel_folder_info_clone (folder_info);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
store_emit_folder_created_cb,
signal_data->store = g_object_ref (store);
signal_data->folder_info = camel_folder_info_clone (folder_info);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
store_emit_folder_deleted_cb,
signal_data->store = g_object_ref (store);
signal_data->folder = g_object_ref (folder);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
store_emit_folder_opened_cb,
signal_data->folder_info = camel_folder_info_clone (folder_info);
signal_data->folder_name = g_strdup (old_name);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
store_emit_folder_renamed_cb,
signal_data->subscribable = g_object_ref (subscribable);
signal_data->folder_info = camel_folder_info_clone (folder_info);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
subscribable_emit_folder_subscribed_cb,
signal_data->subscribable = g_object_ref (subscribable);
signal_data->folder_info = camel_folder_info_clone (folder_info);
+ /* schedule with priority higher than gtk+ uses for animations (check docs for G_PRIORITY_HIGH_IDLE),
+ same as GAsyncResult, where this operation is quite similar to it anyway */
camel_session_idle_add (
session, G_PRIORITY_DEFAULT,
subscribable_emit_folder_unsubscribed_cb,
cd->op_data = op_data;
/* do this on idle, because this callback should be left
- * as soon as possible, with no sync calls being done */
+ * as soon as possible, with no sync calls being done;
+ * also schedule with priority higher than gtk+ uses
+ * for animations (check docs for G_PRIORITY_HIGH_IDLE) */
op_data->cancel_idle_id = g_idle_add_full (G_PRIORITY_DEFAULT, e_gdbus_op_cancelled_idle_cb, cd, cancel_data_free);
}