[evolution] [mail-send-receive] Try harder when searching for mail shell view
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] [mail-send-receive] Try harder when searching for mail shell view
- Date: Wed, 12 Sep 2018 11:55:49 +0000 (UTC)
commit 092d16eb549b8d459e63d21ab3243a937e1503c6
Author: Milan Crha <mcrha redhat com>
Date: Mon Sep 10 18:03:55 2018 +0200
[mail-send-receive] Try harder when searching for mail shell view
When there was selected another window than EShellWindow, even
with the shell window being still there, the code didn't look
for it and simply gave up, showing possible error message
on a console as a runtime warning, instead of passing it to UI,
where it belongs.
src/mail/mail-send-recv.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
---
diff --git a/src/mail/mail-send-recv.c b/src/mail/mail-send-recv.c
index 8b379db046..3fe9595f18 100644
--- a/src/mail/mail-send-recv.c
+++ b/src/mail/mail-send-recv.c
@@ -462,6 +462,35 @@ mail_send_receive_get_mail_shell_view (void)
EShellWindow *shell_window = E_SHELL_WINDOW (active_window);
shell_view = e_shell_window_get_shell_view (shell_window, "mail");
+ } else {
+ GList *windows, *link;
+ EShellView *adept_mail_view = NULL;
+ EShellWindow *first_shell_window = NULL;
+
+ windows = gtk_application_get_windows (GTK_APPLICATION (shell));
+ for (link = windows; link; link = g_list_next (link)) {
+ GtkWindow *window = link->data;
+
+ if (E_IS_SHELL_WINDOW (window)) {
+ EShellWindow *shell_window = E_SHELL_WINDOW (window);
+
+ if (!first_shell_window)
+ first_shell_window = shell_window;
+
+ if (g_strcmp0 (e_shell_window_get_active_view (shell_window), "mail")
== 0) {
+ shell_view = e_shell_window_get_shell_view (shell_window,
"mail");
+ break;
+ } else if (!adept_mail_view) {
+ adept_mail_view = e_shell_window_peek_shell_view
(shell_window, "mail");
+ }
+ }
+ }
+
+ if (!shell_view)
+ shell_view = adept_mail_view;
+
+ if (!shell_view && first_shell_window)
+ shell_view = e_shell_window_get_shell_view (first_shell_window, "mail");
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]