[balsa] Remove deprecated gdk_threads_* stuff
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Remove deprecated gdk_threads_* stuff
- Date: Sat, 23 Sep 2017 14:26:36 +0000 (UTC)
commit 9ab343b6d768db4dcca56e8d50fca2f782486ba0
Author: Albrecht Dreß <albrecht dress arcor de>
Date: Sat Sep 23 10:26:04 2017 -0400
Remove deprecated gdk_threads_* stuff
* configure.ac:
* libbalsa/address-view.c (lbav_ensure_blank_line):
* libbalsa/identity.c (sd_response_ok):
* libbalsa/information.c (libbalsa_information_idle_handler):
* libbalsa/libbalsa-gpgme-cb.c (get_passphrase_idle):
* libbalsa/libbalsa.c (ask_idle), (libbalsa_ask):
* libbalsa/libbalsa.h:
* libbalsa/mailbox.c (libbalsa_mailbox_close),
(libbalsa_mailbox_msgno_inserted),
(libbalsa_mailbox_msgno_filt_in), (libbalsa_mailbox_msgno_removed),
(libbalsa_mailbox_msgno_filt_out), (lbm_set_threading),
(mbox_set_sort_column_id), (libbalsa_mailbox_unlink_and_prepend),
(lbm_set_msg_tree), (libbalsa_mailbox_set_msg_tree):
* libbalsa/mailbox_imap.c (idle_unread_update_cb),
(imap_exists_idle):
* libbalsa/mailbox_local.c (lbm_local_restore_tree),
(lbml_load_messages_idle_cb),
(libbalsa_mailbox_local_set_threading):
* libbalsa/send.c:
* libinit_balsa/assistant_init.c (balsa_init_begin):
* src/balsa-app.c (ask_passwd_idle), (balsa_open_mailbox_list),
(balsa_find_mailbox), (balsa_find_dir):
* src/balsa-index.c (bndx_destroy),
(bndx_mailbox_row_inserted_idle), (balsa_index_load_mailbox_node),
(balsa_index_expunge):
* src/balsa-mblist.c (bmbl_set_property_node_style),
(balsa_mblist_close_lru_peer_mbx), (bmbl_sort_idle),
(balsa_mblist_mailbox_node_append):
* src/balsa-mime-widget-image.c (img_check_size):
* src/balsa-mime-widget-text.c (statusbar_pop):
* src/balsa-mime-widget.c (resize_idle):
* src/information-dialog.c (status_bar_refresh):
* src/mailbox-node.c (bmbn_scan_children_idle):
* src/main-window.c (bw_focus_idle), (mail_progress_notify_cb),
(bw_idle_replace), (bw_progress_timeout):
* src/main.c (initial_open_unread_mailboxes), (initial_open_inbox),
(balsa_get_stats), (scan_mailboxes_idle_cb), (periodic_expunge_cb),
(balsa_progress_set_fraction), (balsa_progress_set_activity),
(real_main), (handle_remote):
* src/message-window.c (message_window_idle_handler):
* src/pref-manager.c (open_preferences_manager_idle):
* src/save-restore.c (config_warning_idle):
* src/sendmsg-window.c (edit_with_gnome_check),
(sw_autosave_timeout_cb), (sw_grab_focus_to_text):
* src/spell-check.c (highlight_idle):
Signed-off-by: Peter Bloomfield <PeterBloomfield bellsouth net>
ChangeLog | 50 ++++++++++++++++++++++++++++++++++++++++
configure.ac | 13 ----------
libbalsa/address-view.c | 7 +----
libbalsa/identity.c | 2 -
libbalsa/information.c | 2 -
libbalsa/libbalsa-gpgme-cb.c | 2 -
libbalsa/libbalsa.c | 4 ---
libbalsa/libbalsa.h | 9 -------
libbalsa/mailbox.c | 32 +------------------------
libbalsa/mailbox_imap.c | 4 ---
libbalsa/mailbox_local.c | 14 +----------
libbalsa/send.c | 3 +-
libinit_balsa/assistant_init.c | 2 -
src/balsa-app.c | 19 ---------------
src/balsa-index.c | 8 ------
src/balsa-mblist.c | 13 ----------
src/balsa-mime-widget-image.c | 6 ----
src/balsa-mime-widget-text.c | 3 --
src/balsa-mime-widget.c | 2 -
src/information-dialog.c | 4 ---
src/mailbox-node.c | 5 ----
src/main-window.c | 14 +----------
src/main.c | 22 +----------------
src/message-window.c | 4 ---
src/pref-manager.c | 5 ----
src/save-restore.c | 2 -
src/sendmsg-window.c | 8 ------
src/spell-check.c | 2 -
28 files changed, 56 insertions(+), 205 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d93c31f..f0fbbd7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,53 @@
+2017-09-23 Albrecht Dreß <albrecht dress arcor de>
+
+ Remove deprecated gdk_threads_* stuff
+
+ * configure.ac:
+ * libbalsa/address-view.c (lbav_ensure_blank_line):
+ * libbalsa/identity.c (sd_response_ok):
+ * libbalsa/information.c (libbalsa_information_idle_handler):
+ * libbalsa/libbalsa-gpgme-cb.c (get_passphrase_idle):
+ * libbalsa/libbalsa.c (ask_idle), (libbalsa_ask):
+ * libbalsa/libbalsa.h:
+ * libbalsa/mailbox.c (libbalsa_mailbox_close),
+ (libbalsa_mailbox_msgno_inserted),
+ (libbalsa_mailbox_msgno_filt_in), (libbalsa_mailbox_msgno_removed),
+ (libbalsa_mailbox_msgno_filt_out), (lbm_set_threading),
+ (mbox_set_sort_column_id), (libbalsa_mailbox_unlink_and_prepend),
+ (lbm_set_msg_tree), (libbalsa_mailbox_set_msg_tree):
+ * libbalsa/mailbox_imap.c (idle_unread_update_cb),
+ (imap_exists_idle):
+ * libbalsa/mailbox_local.c (lbm_local_restore_tree),
+ (lbml_load_messages_idle_cb),
+ (libbalsa_mailbox_local_set_threading):
+ * libbalsa/send.c:
+ * libinit_balsa/assistant_init.c (balsa_init_begin):
+ * src/balsa-app.c (ask_passwd_idle), (balsa_open_mailbox_list),
+ (balsa_find_mailbox), (balsa_find_dir):
+ * src/balsa-index.c (bndx_destroy),
+ (bndx_mailbox_row_inserted_idle), (balsa_index_load_mailbox_node),
+ (balsa_index_expunge):
+ * src/balsa-mblist.c (bmbl_set_property_node_style),
+ (balsa_mblist_close_lru_peer_mbx), (bmbl_sort_idle),
+ (balsa_mblist_mailbox_node_append):
+ * src/balsa-mime-widget-image.c (img_check_size):
+ * src/balsa-mime-widget-text.c (statusbar_pop):
+ * src/balsa-mime-widget.c (resize_idle):
+ * src/information-dialog.c (status_bar_refresh):
+ * src/mailbox-node.c (bmbn_scan_children_idle):
+ * src/main-window.c (bw_focus_idle), (mail_progress_notify_cb),
+ (bw_idle_replace), (bw_progress_timeout):
+ * src/main.c (initial_open_unread_mailboxes), (initial_open_inbox),
+ (balsa_get_stats), (scan_mailboxes_idle_cb), (periodic_expunge_cb),
+ (balsa_progress_set_fraction), (balsa_progress_set_activity),
+ (real_main), (handle_remote):
+ * src/message-window.c (message_window_idle_handler):
+ * src/pref-manager.c (open_preferences_manager_idle):
+ * src/save-restore.c (config_warning_idle):
+ * src/sendmsg-window.c (edit_with_gnome_check),
+ (sw_autosave_timeout_cb), (sw_grab_focus_to_text):
+ * src/spell-check.c (highlight_idle):
+
2017-09-22 Peter Bloomfield <pbloomfield bellsouth net>
Drop 'enable-' and 'with-', inherited from autotools,
diff --git a/configure.ac b/configure.ac
index 8144000..f6d3dec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -60,19 +60,6 @@ if test x$balsa_cv_fcntl = xyes; then
AC_DEFINE(USE_FCNTL,1,[Define if fcntl locking should be used.])
fi
-AC_ARG_ENABLE(debug-threads,
- AC_HELP_STRING([--enable-debug-threads],
- [Debug threads (default=no)]),[
- debug_threads=$enableval
-],[
- debug_threads=no
-])
-
-if test x"$debug_threads" = xyes; then
- AC_DEFINE(BALSA_DEBUG_THREADS, 1,[Defined to debug threads.])
-fi
-
-
AC_ARG_WITH([gpgme],
AC_HELP_STRING([--with-gpgme=gpgme-config],
[build with gpgme/GnuPG support (default=no, path to gpgme-config optional)]),
diff --git a/libbalsa/address-view.c b/libbalsa/address-view.c
index bc63428..c16a30a 100644
--- a/libbalsa/address-view.c
+++ b/libbalsa/address-view.c
@@ -264,9 +264,6 @@ lbav_entry_setup_matches(LibBalsaAddressView * address_view,
/*
* Idle callback to set the GtkTreeView's cursor.
- *
- * Scheduled with gdk_threads_add_idle, so it already holds the GDK
- * lock, and its GSource has not been removed.
*/
static gboolean
lbav_ensure_blank_line_idle_cb(LibBalsaAddressView * address_view)
@@ -349,9 +346,7 @@ lbav_ensure_blank_line(LibBalsaAddressView * address_view,
if (!address_view->focus_idle_id)
address_view->focus_idle_id =
- gdk_threads_add_idle((GSourceFunc)
- lbav_ensure_blank_line_idle_cb,
- address_view);
+ g_idle_add((GSourceFunc) lbav_ensure_blank_line_idle_cb, address_view);
}
/*
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index 8203aa8..f8783d7 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -553,12 +553,10 @@ sd_idle_add_response_ok(SelectDialogInfo * sdi)
static gboolean
sd_response_ok(SelectDialogInfo * sdi)
{
- gdk_threads_enter();
if (sdi->idle_handler_id) {
sdi->idle_handler_id = 0;
gtk_dialog_response(GTK_DIALOG(sdi->dialog), GTK_RESPONSE_OK);
}
- gdk_threads_leave();
return FALSE;
}
diff --git a/libbalsa/information.c b/libbalsa/information.c
index 8667739..52d1c25 100644
--- a/libbalsa/information.c
+++ b/libbalsa/information.c
@@ -192,11 +192,9 @@ libbalsa_information_parented(GtkWindow *parent, LibBalsaInformationType type,
static gboolean
libbalsa_information_idle_handler(struct information_data *data)
{
- gdk_threads_enter();
libbalsa_real_information_func(data->parent,
data->message_type,
data->msg);
- gdk_threads_leave();
if(data->parent)
g_object_remove_weak_pointer(G_OBJECT(data->parent),
diff --git a/libbalsa/libbalsa-gpgme-cb.c b/libbalsa/libbalsa-gpgme-cb.c
index eb95ef8..4c18fb1 100644
--- a/libbalsa/libbalsa-gpgme-cb.c
+++ b/libbalsa/libbalsa-gpgme-cb.c
@@ -409,12 +409,10 @@ get_passphrase_idle(gpointer data)
{
ask_passphrase_data_t *apd = (ask_passphrase_data_t *) data;
- gdk_threads_enter();
apd->res =
get_passphrase_real(apd->uid_hint, apd->passphrase_info,
apd->was_bad, apd->parent);
apd->done = TRUE;
- gdk_threads_leave();
g_cond_signal(&apd->cond);
return FALSE;
}
diff --git a/libbalsa/libbalsa.c b/libbalsa/libbalsa.c
index bb1a8db..9cac38c 100644
--- a/libbalsa/libbalsa.c
+++ b/libbalsa/libbalsa.c
@@ -306,10 +306,8 @@ ask_idle(gpointer data)
{
AskData* ad = (AskData*)data;
printf("ask_idle: ENTER %p\n", data);
- gdk_threads_enter();
ad->res = (ad->cb)(ad->arg);
ad->done = TRUE;
- gdk_threads_leave();
g_cond_signal(&ad->condvar);
printf("ask_idle: LEAVE %p\n", data);
return FALSE;
@@ -327,9 +325,7 @@ libbalsa_ask(gboolean (*cb)(void *arg), void *arg)
if (!libbalsa_am_i_subthread()) {
int ret;
printf("Main thread asks the following question.\n");
- gdk_threads_enter();
ret = cb(arg);
- gdk_threads_leave();
return ret;
}
printf("Side thread asks the following question.\n");
diff --git a/libbalsa/libbalsa.h b/libbalsa/libbalsa.h
index 3e537f7..d1b2de9 100644
--- a/libbalsa/libbalsa.h
+++ b/libbalsa/libbalsa.h
@@ -143,15 +143,6 @@ gboolean libbalsa_abort_on_timeout(const char *host);
GThread *libbalsa_get_main_thread(void);
gboolean libbalsa_am_i_subthread(void);
-#if defined(BALSA_DEBUG_THREADS)
-#define gdk_threads_enter() \
- do if (libbalsa_am_i_subthread()) \
- g_warning("%s: sub-thread!\n", __func__); \
- while (0)
-#else
-#define gdk_threads_enter()
-#endif
-#define gdk_threads_leave()
void libbalsa_message(const char *fmt, ...)
G_GNUC_PRINTF(1, 2);
gchar * libbalsa_rot(const gchar * pass);
diff --git a/libbalsa/mailbox.c b/libbalsa/mailbox.c
index 013d5b9..63c0432 100644
--- a/libbalsa/mailbox.c
+++ b/libbalsa/mailbox.c
@@ -639,12 +639,10 @@ libbalsa_mailbox_close(LibBalsaMailbox * mailbox, gboolean expunge)
/* do not try expunging read-only mailboxes, it's a waste of time */
expunge = expunge && !mailbox->readonly;
LIBBALSA_MAILBOX_GET_CLASS(mailbox)->close_mailbox(mailbox, expunge);
- gdk_threads_enter();
if(mailbox->msg_tree) {
g_node_destroy(mailbox->msg_tree);
mailbox->msg_tree = NULL;
}
- gdk_threads_leave();
libbalsa_mailbox_free_mindex(mailbox);
mailbox->stamp++;
mailbox->state = LB_MAILBOX_STATE_CLOSED;
@@ -1347,7 +1345,6 @@ libbalsa_mailbox_msgno_inserted(LibBalsaMailbox *mailbox, guint seqno,
GUINT_TO_POINTER(seqno)));
#endif
- gdk_threads_enter();
/* Insert node into the message tree before getting path. */
iter.user_data = g_node_new(GUINT_TO_POINTER(seqno));
iter.stamp = mailbox->stamp;
@@ -1370,7 +1367,6 @@ libbalsa_mailbox_msgno_inserted(LibBalsaMailbox *mailbox, guint seqno,
libbalsa_unlock_mailbox(mailbox);
mailbox->msg_tree_changed = TRUE;
- gdk_threads_leave();
}
static void
@@ -1379,9 +1375,7 @@ libbalsa_mailbox_msgno_filt_in(LibBalsaMailbox *mailbox, guint seqno)
GtkTreeIter iter;
GtkTreePath *path;
- gdk_threads_enter();
if (!mailbox->msg_tree) {
- gdk_threads_leave();
return;
}
@@ -1397,8 +1391,6 @@ libbalsa_mailbox_msgno_filt_in(LibBalsaMailbox *mailbox, guint seqno)
mailbox->msg_tree_changed = TRUE;
lbm_changed_schedule_idle(mailbox);
-
- gdk_threads_leave();
}
/*
@@ -1430,12 +1422,10 @@ libbalsa_mailbox_msgno_removed(LibBalsaMailbox * mailbox, guint seqno)
GNode *child;
GNode *parent;
- gdk_threads_enter();
g_signal_emit(mailbox, libbalsa_mailbox_signals[MESSAGE_EXPUNGED],
0, seqno);
if (!mailbox->msg_tree) {
- gdk_threads_leave();
return;
}
@@ -1456,7 +1446,6 @@ libbalsa_mailbox_msgno_removed(LibBalsaMailbox * mailbox, guint seqno)
if (!dt.node) {
/* It's ok, apparently the view did not include this message */
- gdk_threads_leave();
return;
}
@@ -1507,8 +1496,6 @@ libbalsa_mailbox_msgno_removed(LibBalsaMailbox * mailbox, guint seqno)
gtk_tree_path_free(path);
mailbox->stamp++;
-
- gdk_threads_leave();
}
static void
@@ -1518,9 +1505,7 @@ libbalsa_mailbox_msgno_filt_out(LibBalsaMailbox * mailbox, GNode * node)
GtkTreePath *path;
GNode *child, *parent;
- gdk_threads_enter();
if (!mailbox->msg_tree) {
- gdk_threads_leave();
return;
}
@@ -1567,8 +1552,6 @@ libbalsa_mailbox_msgno_filt_out(LibBalsaMailbox * mailbox, GNode * node)
mailbox->msg_tree_changed = TRUE;
lbm_changed_schedule_idle(mailbox);
-
- gdk_threads_leave();
}
/*
@@ -2269,12 +2252,9 @@ lbm_set_threading(LibBalsaMailbox * mailbox,
LIBBALSA_MAILBOX_GET_CLASS(mailbox)->set_threading(mailbox,
thread_type);
if (libbalsa_am_i_subthread()) {
- gdk_threads_add_idle((GSourceFunc) lbm_set_threading_idle_cb,
- g_object_ref(mailbox));
+ g_idle_add((GSourceFunc) lbm_set_threading_idle_cb, g_object_ref(mailbox));
} else {
- gdk_threads_enter();
lbm_check_and_sort(mailbox);
- gdk_threads_leave();
}
return TRUE;
@@ -3629,9 +3609,7 @@ mbox_set_sort_column_id(GtkTreeSortable * sortable,
if (new_field != LB_MAILBOX_SORT_NO) {
gboolean rc;
- gdk_threads_leave();
rc = libbalsa_mailbox_prepare_threading(mbox, 0);
- gdk_threads_enter();
if (!rc)
/* Prepare-threading failed--perhaps mailbox was closed. */
@@ -3683,7 +3661,6 @@ libbalsa_mailbox_unlink_and_prepend(LibBalsaMailbox * mailbox,
g_return_if_fail(!parent || !g_node_is_ancestor(node, parent));
#endif
- gdk_threads_enter();
iter.stamp = mailbox->stamp;
path = mbox_model_get_path_helper(node, mailbox->msg_tree);
@@ -3733,7 +3710,6 @@ libbalsa_mailbox_unlink_and_prepend(LibBalsaMailbox * mailbox,
mailbox->msg_tree_changed = TRUE;
}
- gdk_threads_leave();
}
struct lbm_update_msg_tree_info {
@@ -3860,7 +3836,6 @@ lbm_set_msg_tree(LibBalsaMailbox * mailbox)
if (!mailbox->msg_tree)
return;
- gdk_threads_enter();
path = gtk_tree_path_new();
gtk_tree_path_down(path);
@@ -3877,14 +3852,11 @@ lbm_set_msg_tree(LibBalsaMailbox * mailbox)
}
gtk_tree_path_free(path);
- gdk_threads_leave();
}
void
libbalsa_mailbox_set_msg_tree(LibBalsaMailbox * mailbox, GNode * new_tree)
{
- gdk_threads_enter();
-
if (mailbox->msg_tree && mailbox->msg_tree->children) {
lbm_update_msg_tree(mailbox, new_tree);
g_node_destroy(new_tree);
@@ -3896,8 +3868,6 @@ libbalsa_mailbox_set_msg_tree(LibBalsaMailbox * mailbox, GNode * new_tree)
}
mailbox->msg_tree_changed = TRUE;
-
- gdk_threads_leave();
}
static GMimeMessage *
diff --git a/libbalsa/mailbox_imap.c b/libbalsa/mailbox_imap.c
index 6e7c1c3..aab9c43 100644
--- a/libbalsa/mailbox_imap.c
+++ b/libbalsa/mailbox_imap.c
@@ -770,7 +770,6 @@ idle_unread_update_cb(LibBalsaMailbox *mailbox)
glong unread;
libbalsa_lock_mailbox(mailbox);
- gdk_threads_enter();
unread = mailbox->unread_messages;
lbm_imap_get_unseen(LIBBALSA_MAILBOX_IMAP(mailbox));
@@ -778,7 +777,6 @@ idle_unread_update_cb(LibBalsaMailbox *mailbox)
libbalsa_mailbox_set_unread_messages_flag(mailbox,
mailbox->unread_messages>0);
LIBBALSA_MAILBOX_IMAP(mailbox)->unread_update_id = 0;
- gdk_threads_leave();
libbalsa_unlock_mailbox(mailbox);
return FALSE;
}
@@ -827,7 +825,6 @@ imap_exists_idle(gpointer data)
unsigned cnt;
libbalsa_lock_mailbox(mailbox);
- gdk_threads_enter();
mimap->sort_field = -1; /* Invalidate. */
@@ -883,7 +880,6 @@ imap_exists_idle(gpointer data)
lbm_imap_get_unseen(LIBBALSA_MAILBOX_IMAP(mailbox));
}
- gdk_threads_leave();
libbalsa_unlock_mailbox(mailbox);
g_object_unref(G_OBJECT(mailbox));
diff --git a/libbalsa/mailbox_local.c b/libbalsa/mailbox_local.c
index 53a0ad6..142be75 100644
--- a/libbalsa/mailbox_local.c
+++ b/libbalsa/mailbox_local.c
@@ -637,8 +637,6 @@ lbm_local_restore_tree(LibBalsaMailboxLocal * local, guint * total)
}
*total = info->value.total;
- gdk_threads_enter();
-
seen = g_new0(guint8, *total);
parent = mailbox->msg_tree;
sibling = NULL;
@@ -653,7 +651,6 @@ lbm_local_restore_tree(LibBalsaMailboxLocal * local, guint * total)
g_free(seen);
g_free(contents);
g_free(name);
- gdk_threads_leave();
return FALSE;
}
seen[info->msgno - 1] = TRUE;
@@ -677,7 +674,6 @@ lbm_local_restore_tree(LibBalsaMailboxLocal * local, guint * total)
g_free(seen);
g_free(contents);
g_free(name);
- gdk_threads_leave();
return FALSE;
}
}
@@ -703,8 +699,6 @@ lbm_local_restore_tree(LibBalsaMailboxLocal * local, guint * total)
g_free(contents);
g_free(name);
- gdk_threads_leave();
-
return TRUE;
}
@@ -1053,11 +1047,9 @@ lbml_load_messages_idle_cb(LibBalsaMailbox * mailbox)
libbalsa_lock_mailbox(mailbox);
local = (LibBalsaMailboxLocal *) mailbox;
local->load_messages_id = 0;
- gdk_threads_enter();
if (!mailbox->msg_tree) {
/* Mailbox is closed, or no view has been created. */
- gdk_threads_leave();
libbalsa_unlock_mailbox(mailbox);
return FALSE;
}
@@ -1077,8 +1069,6 @@ lbml_load_messages_idle_cb(LibBalsaMailbox * mailbox)
msg_info->message);
}
- gdk_threads_leave();
-
if (new_messages) {
libbalsa_mailbox_run_filters_on_reception(mailbox);
libbalsa_mailbox_set_unread_messages_flag(mailbox,
@@ -1200,11 +1190,9 @@ libbalsa_mailbox_local_set_threading(LibBalsaMailbox * mailbox,
info = g_slice_new(LbmlSetThreadingInfo);
info->mailbox = g_object_ref(mailbox);
info->thread_type = thread_type;
- gdk_threads_add_idle((GSourceFunc) lbml_set_threading_idle_cb, info);
+ g_idle_add((GSourceFunc) lbml_set_threading_idle_cb, info);
} else {
- gdk_threads_enter();
lbml_set_threading(mailbox, thread_type);
- gdk_threads_leave();
}
#if defined(DEBUG_LOADING_AND_THREADING)
printf("after threading time=%lu\n", (unsigned long) time(NULL));
diff --git a/libbalsa/send.c b/libbalsa/send.c
index 2dc2efc..5991bf4 100644
--- a/libbalsa/send.c
+++ b/libbalsa/send.c
@@ -911,8 +911,7 @@ libbalsa_process_queue(LibBalsaMailbox *outbox,
/* balsa_send_message_real:
does the actual message sending.
- This function may be called as a thread and should therefore do
- proper gdk_threads_{enter/leave} stuff around GTK or libbalsa calls.
+ This function may be called as a thread.
Also, structure info should be freed before exiting.
*/
diff --git a/libinit_balsa/assistant_init.c b/libinit_balsa/assistant_init.c
index 0121872..e96c520 100644
--- a/libinit_balsa/assistant_init.c
+++ b/libinit_balsa/assistant_init.c
@@ -139,9 +139,7 @@ balsa_init_begin(void)
balsa_initdruid(GTK_ASSISTANT(assistant));
gtk_widget_show_all(assistant);
- gdk_threads_enter();
gtk_main();
- gdk_threads_leave();
/* we do not want to destroy wizard immediately to avoid confusing
delay between the wizard that left and balsa that entered. */
diff --git a/src/balsa-app.c b/src/balsa-app.c
index c58538e..45dd90b 100644
--- a/src/balsa-app.c
+++ b/src/balsa-app.c
@@ -136,10 +136,8 @@ static gboolean
ask_passwd_idle(gpointer data)
{
AskPasswdData* apd = (AskPasswdData*)data;
- gdk_threads_enter();
apd->res = ask_password_real(apd->server, apd->mbox);
apd->done = TRUE;
- gdk_threads_leave();
g_cond_signal(&apd->cond);
return FALSE;
}
@@ -529,8 +527,6 @@ balsa_open_mailbox_list(gchar ** urls)
g_return_if_fail(urls != NULL);
- gdk_threads_enter();
-
for (tmp = urls; *tmp; ++tmp) {
gchar **p;
@@ -545,8 +541,6 @@ balsa_open_mailbox_list(gchar ** urls)
}
g_strfreev(urls);
-
- gdk_threads_leave();
}
void
@@ -595,16 +589,12 @@ balsa_find_mailbox(LibBalsaMailbox * mailbox)
{
BalsaFind bf;
- gdk_threads_enter();
-
bf.data = mailbox;
bf.mbnode = NULL;
if (balsa_app.mblist_tree_store)
gtk_tree_model_foreach(GTK_TREE_MODEL(balsa_app.mblist_tree_store),
find_mailbox, &bf);
- gdk_threads_leave();
-
return bf.mbnode;
}
@@ -633,11 +623,6 @@ BalsaMailboxNode *
balsa_find_dir(LibBalsaServer *server, const gchar * path)
{
BalsaFind bf;
- gboolean is_sub_thread = libbalsa_am_i_subthread();
-
- if (is_sub_thread) {
- gdk_threads_enter();
- }
bf.data = path;
bf.server = server;
@@ -645,10 +630,6 @@ balsa_find_dir(LibBalsaServer *server, const gchar * path)
gtk_tree_model_foreach(GTK_TREE_MODEL(balsa_app.mblist_tree_store),
(GtkTreeModelForeachFunc) find_path, &bf);
- if (is_sub_thread) {
- gdk_threads_leave();
- }
-
return bf.mbnode;
}
diff --git a/src/balsa-index.c b/src/balsa-index.c
index 137436a..07a4505 100644
--- a/src/balsa-index.c
+++ b/src/balsa-index.c
@@ -223,9 +223,7 @@ bndx_destroy(GObject * obj)
G_SIGNAL_MATCH_DATA,
0, 0, NULL, NULL, index);
gtk_tree_view_set_model(GTK_TREE_VIEW(index), NULL);
- gdk_threads_leave();
libbalsa_mailbox_close(mailbox, balsa_app.expunge_on_close);
- gdk_threads_enter();
}
if (index->mailbox_node) {
@@ -884,7 +882,6 @@ static gboolean
bndx_mailbox_row_inserted_idle(struct bndx_mailbox_row_inserted_info *info)
{
GtkTreePath *path;
- gdk_threads_enter();
if (libbalsa_mailbox_msgno_find(info->mailbox, info->msgno,
&path, NULL)) {
bndx_expand_to_row(info->index, path);
@@ -893,7 +890,6 @@ bndx_mailbox_row_inserted_idle(struct bndx_mailbox_row_inserted_info *info)
g_object_unref(info->mailbox);
g_object_unref(info->index);
g_free(info);
- gdk_threads_leave();
return FALSE;
}
@@ -974,7 +970,6 @@ balsa_index_load_mailbox_node(BalsaIndex * index,
/*
* rename "from" column to "to" for outgoing mail
*/
- gdk_threads_enter();
tree_view = GTK_TREE_VIEW(index);
if (libbalsa_mailbox_get_show(mailbox) == LB_MAILBOX_SHOW_TO) {
GtkTreeViewColumn *column =
@@ -995,7 +990,6 @@ balsa_index_load_mailbox_node(BalsaIndex * index,
g_object_set_data(G_OBJECT(mailbox), "tree-view", tree_view);
#endif
gtk_tree_view_set_model(tree_view, GTK_TREE_MODEL(mailbox));
- gdk_threads_leave();
/* Create a search-iter for SEARCH UNDELETED. */
if (!cond_undeleted)
@@ -2225,9 +2219,7 @@ balsa_index_expunge(BalsaIndex * index)
if (mailbox->readonly)
return;
- gdk_threads_leave();
rc = libbalsa_mailbox_sync_storage(mailbox, TRUE);
- gdk_threads_enter();
if (!rc)
balsa_information(LIBBALSA_INFORMATION_WARNING,
_("Committing mailbox %s failed."),
diff --git a/src/balsa-mblist.c b/src/balsa-mblist.c
index ddf307e..95f009f 100644
--- a/src/balsa-mblist.c
+++ b/src/balsa-mblist.c
@@ -216,8 +216,6 @@ bmbl_set_property_node_style(GSList * list)
GSList *l;
GtkTreePath *path;
- gdk_threads_enter();
-
for (l = list; l; l = l->next) {
GtkTreeRowReference *reference = l->data;
path = gtk_tree_row_reference_get_path(reference);
@@ -234,7 +232,6 @@ bmbl_set_property_node_style(GSList * list)
}
g_slist_free(list);
- gdk_threads_leave();
}
static gboolean
@@ -1251,9 +1248,7 @@ balsa_mblist_close_lru_peer_mbx(BalsaMBList * mblist,
dt.mbnode = NULL;
gtk_tree_model_foreach(model, get_lru_descendant, &dt);
if(dt.mbnode) {
- gdk_threads_enter();
balsa_window_close_mbnode(balsa_app.main_window, dt.mbnode);
- gdk_threads_leave();
g_object_unref(dt.mbnode);
}
return dt.mbnode != NULL;
@@ -2246,16 +2241,12 @@ bmbl_sort_idle(gpointer data)
{
GtkTreeSortable *sortable = data;
- gdk_threads_enter();
-
gtk_tree_sortable_set_sort_column_id(sortable,
balsa_app.mblist->sort_column_id,
GTK_SORT_ASCENDING);
balsa_app.mblist->sort_idle_id = 0;
g_object_unref(sortable);
- gdk_threads_leave();
-
return FALSE;
}
@@ -2268,8 +2259,6 @@ balsa_mblist_mailbox_node_append(BalsaMailboxNode * root,
GtkTreeIter *parent_iter = NULL;
GtkTreeIter iter;
- gdk_threads_enter();
-
model = GTK_TREE_MODEL(balsa_app.mblist_tree_store);
if (!balsa_app.mblist->sort_idle_id) {
@@ -2304,8 +2293,6 @@ balsa_mblist_mailbox_node_append(BalsaMailboxNode * root,
/* The tree-store owns mbnode. */
g_object_unref(mbnode);
-
- gdk_threads_leave();
}
/* Rerender a row after its properties have changed. */
diff --git a/src/balsa-mime-widget-image.c b/src/balsa-mime-widget-image.c
index a0f5278..47834a6 100644
--- a/src/balsa-mime-widget-image.c
+++ b/src/balsa-mime-widget-image.c
@@ -198,12 +198,9 @@ img_check_size(GtkImage ** widget_p)
gint curr_w, dst_w;
GtkAllocation allocation;
- gdk_threads_enter();
-
widget = *widget_p;
g_free(widget_p);
if (!widget) {
- gdk_threads_leave();
return FALSE;
}
g_object_remove_weak_pointer(G_OBJECT(widget), (gpointer) widget_p);
@@ -217,7 +214,6 @@ img_check_size(GtkImage ** widget_p)
GINT_TO_POINTER(FALSE));
g_warn_if_fail(viewport && mime_body && orig_width > 0);
if (!(viewport && mime_body && orig_width > 0)) {
- gdk_threads_leave();
return FALSE;
}
@@ -253,7 +249,6 @@ img_check_size(GtkImage ** widget_p)
load_err->message);
g_error_free(load_err);
}
- gdk_threads_leave();
return FALSE;
}
dst_h = (gfloat)dst_w /
@@ -265,6 +260,5 @@ img_check_size(GtkImage ** widget_p)
g_object_unref(scaled_pixbuf);
}
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/balsa-mime-widget-text.c b/src/balsa-mime-widget-text.c
index 3a3bddb..a4f6d78 100644
--- a/src/balsa-mime-widget-text.c
+++ b/src/balsa-mime-widget-text.c
@@ -758,8 +758,6 @@ find_url(GtkWidget * widget, gint x, gint y, GList * url_list)
static gboolean
statusbar_pop(gpointer data)
{
- gdk_threads_enter();
-
if (BALSA_IS_WINDOW(balsa_app.main_window)
&& GTK_IS_STATUSBAR(balsa_app.main_window->statusbar)) {
GtkStatusbar *statusbar;
@@ -770,7 +768,6 @@ statusbar_pop(gpointer data)
gtk_statusbar_pop(statusbar, context_id);
}
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/balsa-mime-widget.c b/src/balsa-mime-widget.c
index 9f632dc..3a82032 100644
--- a/src/balsa-mime-widget.c
+++ b/src/balsa-mime-widget.c
@@ -329,12 +329,10 @@ static gdouble old_upper, new_upper;
static gboolean
resize_idle(GtkWidget * widget)
{
- gdk_threads_enter();
resize_idle_id = 0;
gtk_widget_queue_resize(widget);
old_widget = new_widget;
old_upper = new_upper;
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/information-dialog.c b/src/information-dialog.c
index f6194b1..06af13d 100644
--- a/src/information-dialog.c
+++ b/src/information-dialog.c
@@ -304,8 +304,6 @@ static guint bar_timeout_id = 0;
static gboolean
status_bar_refresh(gpointer data)
{
- gdk_threads_enter();
-
if (balsa_app.main_window) {
GtkStatusbar *statusbar;
guint context_id;
@@ -317,8 +315,6 @@ status_bar_refresh(gpointer data)
bar_timeout_id = 0;
- gdk_threads_leave();
-
return FALSE;
}
diff --git a/src/mailbox-node.c b/src/mailbox-node.c
index 60791a6..5a04d8f 100644
--- a/src/mailbox-node.c
+++ b/src/mailbox-node.c
@@ -866,11 +866,8 @@ bmbn_scan_children_idle(BalsaMailboxNode ** mbnode)
GSList *list;
GSList *l;
- gdk_threads_enter();
-
if (!*mbnode) {
g_free(mbnode);
- gdk_threads_leave();
return FALSE;
}
@@ -907,8 +904,6 @@ bmbn_scan_children_idle(BalsaMailboxNode ** mbnode)
}
g_free(mbnode);
- gdk_threads_leave();
-
return FALSE;
}
diff --git a/src/main-window.c b/src/main-window.c
index 12ce465..8586fea 100644
--- a/src/main-window.c
+++ b/src/main-window.c
@@ -2977,13 +2977,11 @@ balsa_window_real_open_mbnode(BalsaWindow * window,
static gboolean
bw_focus_idle(LibBalsaMailbox ** mailbox)
{
- gdk_threads_enter();
if (*mailbox)
g_object_remove_weak_pointer(G_OBJECT(*mailbox), (gpointer) mailbox);
if (balsa_app.mblist_tree_store)
balsa_mblist_focus_mailbox(balsa_app.mblist, *mailbox);
g_free(mailbox);
- gdk_threads_leave();
return FALSE;
}
@@ -3525,8 +3523,6 @@ mail_progress_notify_cb(GIOChannel * source, GIOCondition condition,
return TRUE;
}
- gdk_threads_enter();
-
statusbar = GTK_STATUSBAR((*window)->statusbar);
context_id = gtk_statusbar_get_context_id(statusbar, "BalsaWindow mail progress");
@@ -3622,7 +3618,6 @@ mail_progress_notify_cb(GIOChannel * source, GIOCondition condition,
count -= sizeof(void *);
}
g_free(msgbuffer);
- gdk_threads_leave();
return TRUE;
}
@@ -4415,8 +4410,7 @@ bw_idle_replace(BalsaWindow * window, BalsaIndex * bindex)
bw_idle_remove(window);
/* Skip if the window is being destroyed: */
if (window->preview != NULL) {
- window->set_message_id =
- gdk_threads_add_idle((GSourceFunc) bw_idle_cb, window);
+ window->set_message_id = g_idle_add((GSourceFunc) bw_idle_cb, window);
if (BALSA_MESSAGE(window->preview)->message != NULL)
gtk_widget_hide(window->preview);
}
@@ -4593,22 +4587,16 @@ static gboolean bw_notebook_drag_motion_cb(GtkWidget * widget,
*
* This function is called at a preset interval to cause the progress
* bar to move in activity mode.
- * this routine is called from g_timeout_dispatch() and needs to take care
- * of GDK locking itself using gdk_threads_{enter,leave}
*
* Use of the progress bar to show a fraction of a task takes priority.
**/
static gint
bw_progress_timeout(BalsaWindow ** window)
{
- gdk_threads_enter();
-
if (balsa_app.show_statusbar
&& *window && (*window)->progress_type == BALSA_PROGRESS_ACTIVITY)
gtk_progress_bar_pulse(GTK_PROGRESS_BAR((*window)->progress_bar));
- gdk_threads_leave();
-
/* return true so it continues to be called */
return *window != NULL;
}
diff --git a/src/main.c b/src/main.c
index 3bd5a14..351d3b9 100644
--- a/src/main.c
+++ b/src/main.c
@@ -193,13 +193,12 @@ threads_destroy(void)
/* initial_open_mailboxes:
open mailboxes on startup if requested so.
- This is an idle handler. Be sure to use gdk_threads_{enter/leave}
+ This is an idle handler.
*/
static gboolean
initial_open_unread_mailboxes()
{
GList *l, *gl;
- gdk_threads_enter();
gl = balsa_mblist_find_all_unread_mboxes(NULL);
if (gl) {
@@ -211,7 +210,6 @@ initial_open_unread_mailboxes()
}
g_list_free(gl);
}
- gdk_threads_leave();
return FALSE;
}
@@ -223,9 +221,7 @@ initial_open_inbox()
return FALSE;
printf("opening %s..\n", balsa_app.inbox->name);
- gdk_threads_enter();
balsa_mblist_open_mailbox_hidden(balsa_app.inbox);
- gdk_threads_leave();
return FALSE;
}
@@ -236,10 +232,8 @@ balsa_get_stats(long *unread, long *unsent)
if(balsa_app.inbox && libbalsa_mailbox_open(balsa_app.inbox, NULL) ) {
/* set threading type to load messages */
- gdk_threads_enter();
libbalsa_mailbox_set_threading(balsa_app.inbox,
balsa_app.inbox->view->threading_type);
- gdk_threads_leave();
*unread = balsa_app.inbox->unread_messages;
libbalsa_mailbox_close(balsa_app.inbox, FALSE);
} else *unread = -1;
@@ -282,7 +276,6 @@ scan_mailboxes_idle_cb()
GtkTreeIter iter;
GPtrArray *url_array;
- gdk_threads_enter();
model = GTK_TREE_MODEL(balsa_app.mblist_tree_store);
/* The model contains only nodes from config. */
for (valid = gtk_tree_model_get_iter_first(model, &iter); valid;
@@ -296,7 +289,6 @@ scan_mailboxes_idle_cb()
/* The root-node (typically ~/mail) isn't in the model, so its
* children will be appended to the top level. */
balsa_mailbox_node_append_subtree(balsa_app.root_node);
- gdk_threads_leave();
url_array = g_ptr_array_new();
if (cmd_open_unread_mailbox || balsa_app.open_unread_mailbox){
@@ -379,13 +371,11 @@ periodic_expunge_cb(void)
/* should we enforce expunging now and then? Perhaps not... */
if(!balsa_app.expunge_auto) return TRUE;
- gdk_threads_enter();
libbalsa_information(LIBBALSA_INFORMATION_DEBUG,
_("Compressing mail folders…"));
gtk_tree_model_foreach(GTK_TREE_MODEL(balsa_app.mblist_tree_store),
(GtkTreeModelForeachFunc)mbnode_expunge_func,
&list);
- gdk_threads_leave();
for (l = list; l; l = l->next) {
BalsaMailboxNode *mbnode = l->data;
@@ -461,24 +451,20 @@ balsa_progress_set_fraction(LibBalsaProgress * progress, gdouble fraction)
g_time_val_add(&time_val, LIBBALSA_PROGRESS_MIN_UPDATE_USECS);
min_fraction += LIBBALSA_PROGRESS_MIN_UPDATE_STEP;
- gdk_threads_enter();
if (balsa_app.main_window)
balsa_window_increment_progress(balsa_app.main_window, fraction,
!libbalsa_am_i_subthread());
- gdk_threads_leave();
}
static void
balsa_progress_set_activity(gboolean set, const gchar * text)
{
- gdk_threads_enter();
if (balsa_app.main_window) {
if (set)
balsa_window_increase_activity(balsa_app.main_window, text);
else
balsa_window_decrease_activity(balsa_app.main_window, text);
}
- gdk_threads_leave();
}
static gboolean
@@ -610,9 +596,7 @@ real_main(int argc, char *argv[])
balsa_app.main_window);
accel_map_load();
- gdk_threads_enter();
gtk_main();
- gdk_threads_leave();
balsa_cleanup();
accel_map_save();
@@ -753,8 +737,6 @@ handle_remote(int argc, char **argv,
"Unread: %ld Unsent: %ld\n",
unread, unsent);
} else {
- gdk_threads_enter();
-
if (cmd_check_mail_on_startup)
balsa_main_check_new_messages(balsa_app.main_window);
@@ -771,8 +753,6 @@ handle_remote(int argc, char **argv,
/* Move the main window to the request's screen */
gtk_window_present(GTK_WINDOW(balsa_app.main_window));
}
-
- gdk_threads_leave();
}
}
diff --git a/src/message-window.c b/src/message-window.c
index 5a76993..5dba3dd 100644
--- a/src/message-window.c
+++ b/src/message-window.c
@@ -112,19 +112,15 @@ message_window_idle_handler(MessageWindow * mw)
{
BalsaMessage *msg;
- gdk_threads_enter();
-
mw->idle_handler_id = 0;
msg = BALSA_MESSAGE(mw->bmessage);
if (!balsa_message_set(msg, mw->message->mailbox, mw->message->msgno)) {
gtk_widget_destroy(mw->window);
- gdk_threads_leave();
return FALSE;
}
balsa_message_grab_focus(msg);
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 21eee1c..a90be2c 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -3235,10 +3235,7 @@ open_preferences_manager_idle(void)
{
gchar *name;
- gdk_threads_enter();
-
if (pui == NULL) {
- gdk_threads_leave();
return FALSE;
}
@@ -3247,7 +3244,6 @@ open_preferences_manager_idle(void)
if (!name || strcmp(name, balsa_app.local_mail_directory) != 0) {
/* Chooser still hasn't been initialized. */
g_free(name);
- gdk_threads_leave();
return TRUE;
}
g_free(name);
@@ -3255,7 +3251,6 @@ open_preferences_manager_idle(void)
g_signal_connect(pui->mail_directory, "selection-changed",
G_CALLBACK(properties_modified_cb), property_box);
- gdk_threads_leave();
return FALSE;
} /* open_preferences_manager_idle */
diff --git a/src/save-restore.c b/src/save-restore.c
index 00a923c..24a9e62 100644
--- a/src/save-restore.c
+++ b/src/save-restore.c
@@ -479,9 +479,7 @@ config_folder_init(const gchar * prefix)
static gboolean
config_warning_idle(const gchar * text)
{
- gdk_threads_enter();
balsa_information(LIBBALSA_INFORMATION_WARNING, "%s", text);
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 2bbdc36..6573dea 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -736,7 +736,6 @@ edit_with_gnome_check(gpointer data) {
perror("fopen");
return TRUE;
}
- gdk_threads_enter();
if (balsa_app.edit_headers) {
while (fgets(line, sizeof(line), tmp)) {
guint type;
@@ -778,7 +777,6 @@ edit_with_gnome_check(gpointer data) {
unlink(data_real->filename);
gtk_widget_set_sensitive(data_real->bsmsg->text, TRUE);
g_free(data);
- gdk_threads_leave();
return FALSE;
}
@@ -3849,15 +3847,11 @@ sw_save_draft(BalsaSendmsg * bsmsg)
static gboolean
sw_autosave_timeout_cb(BalsaSendmsg * bsmsg)
{
- gdk_threads_enter();
-
if (bsmsg->state == SENDMSG_STATE_MODIFIED) {
if (sw_save_draft(bsmsg))
bsmsg->state = SENDMSG_STATE_AUTO_SAVED;
}
- gdk_threads_leave();
-
return TRUE; /* do repeat it */
}
@@ -4382,10 +4376,8 @@ set_identity(BalsaSendmsg * bsmsg, LibBalsaMessage * message)
static gboolean
sw_grab_focus_to_text(GtkWidget * text)
{
- gdk_threads_enter();
gtk_widget_grab_focus(text);
g_object_unref(text);
- gdk_threads_leave();
return FALSE;
}
diff --git a/src/spell-check.c b/src/spell-check.c
index d85ac14..037099c 100644
--- a/src/spell-check.c
+++ b/src/spell-check.c
@@ -696,7 +696,6 @@ highlight_idle(BalsaSpellCheck * spell_check)
{
GtkTextBuffer *buffer;
- gdk_threads_enter();
if (spell_check->highlight_idle_id) {
spch_restore_word_iters(spell_check);
buffer = gtk_text_view_get_buffer(spell_check->text_view);
@@ -704,7 +703,6 @@ highlight_idle(BalsaSpellCheck * spell_check)
&spell_check->end_iter);
spell_check->highlight_idle_id = 0;
}
- gdk_threads_leave();
return FALSE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]