diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-08-28 03:44:25 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-08-28 03:44:25 +0800 |
commit | 935bc4be0779919b5611f64bf01675901a3b6f1d (patch) | |
tree | 2d2b87fe1e63d50a3ae2918f46602b7bcebe9ec4 /modules | |
parent | 915f33a5b1559030cfb3d5b90f7494478ea030a6 (diff) | |
download | gsoc2013-evolution-935bc4be0779919b5611f64bf01675901a3b6f1d.tar.gz gsoc2013-evolution-935bc4be0779919b5611f64bf01675901a3b6f1d.tar.zst gsoc2013-evolution-935bc4be0779919b5611f64bf01675901a3b6f1d.zip |
Bug 628141 - Duplicate signal connections in EMailReader
EMailShellContent implements the EMailReader interface but acts as a
proxy for EMailPanedView, from which it obtains MessageList and EWebView
widgets. The problem was both classes call e_mail_reader_init_private()
which connects to signals emitted from the MessageList and EWebView
widgets. But since EMailShellContent is a proxy for EMailPanedView,
the signals were being connected twice.
This commit does away with e_mail_reader_init_private(), instead adding
options to e_mail_reader_init() to control what parts of initialization
to run. It's an ugly and temporary hack.
I'm beginning to realize EMailReader is too bloated and needs rethought.
EMailReader should just manage actions. EMailView should own and manage
the widgets, and EMailReader should just have a get_mail_view() method
so it has access to those widgets. That way the EMailView subclasses
won't have to implement EMailReader themselves and wind up allocating
a bunch of duplicate, unused actions.
It's too close to a stable release to rip these interfaces apart and
reorganize them. I'll try to do that for 2.33 to help make the design
more intuitive.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index a794329501..907eb18259 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -665,7 +665,7 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view) G_CALLBACK (mail_shell_view_prepare_for_quit_cb), mail_shell_view, G_CONNECT_SWAPPED); - e_mail_reader_init (reader); + e_mail_reader_init (reader, TRUE, FALSE); e_mail_shell_view_actions_init (mail_shell_view); e_mail_shell_view_update_search_filter (mail_shell_view); |