After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 347287 - Modular view control
Modular view control
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Calendar
2.24.x (obsolete)
Other Linux
: Normal enhancement
: ---
Assigned To: evolution-calendar-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2006-07-12 07:55 UTC by Chenthill P
Modified: 2009-01-30 10:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Uses a single model for all the views (40.24 KB, patch)
2008-08-12 15:50 UTC, Chenthill P
committed Details | Review
Semi new finding screenshot (56.92 KB, image/png)
2008-08-21 07:34 UTC, Michael Monreal
  Details
Avoids un-necessary ipc calls (8.88 KB, patch)
2009-01-20 09:34 UTC, Chenthill P
committed Details | Review
Increase the tries to 10 and sleep to 500 micro seconds. (1.23 KB, patch)
2009-01-20 09:40 UTC, Chenthill P
committed Details | Review

Description Chenthill P 2006-07-12 07:55:22 UTC
At present, each view in the calendar has a seperate model associated with it. The views should share a single model. This would reduce the memory usage by considerable ammount.
Comment 1 Matthew Barnes 2008-03-11 00:31:57 UTC
Bumping version to a stable release.
Comment 2 Chenthill P 2008-08-12 15:50:54 UTC
Created attachment 116433 [details] [review]
Uses a single model for all the views

Change ECalModelComponent to GObject based so that it can be ref'ed instead of copying it.
Comment 3 Chenthill P 2008-08-13 09:10:06 UTC
Patch has been committed to HEAD.
Comment 4 Milan Crha 2008-08-13 12:15:44 UTC
I see these warnings when compiling:
e-cal-model.c: In function ‘e_cal_model_set_timezone’:
e-cal-model.c:1118: warning: unused variable ‘l’
e-cal-model.c: In function ‘e_cal_view_done_cb’:
e-cal-model.c:1525: warning: unused variable ‘priv’
e-cal-model.c: At top level:
e-cal-model.c:2093: warning: ‘copy_ecdv’ defined but not used
e-day-view-config.c: In function ‘timezone_changed_cb’:
e-day-view-config.c:155: warning: implicit declaration of function ‘set_timezone’
e-day-view-config.c: At top level:
e-day-view-config.c:149: warning: ‘timezone_changed_cb’ defined but not used

And these two related when running evolution:
(evolution:17849): e-utils-WARNING **: can't load plugin '/build/local/lib/evolution/2.24/plugins/liborg-gnome-exchange-operations.so': /build/local/lib/evolution/2.24/components/libevolution-calendar.so: undefined symbol: set_timezone

(evolution:17849): e-utils-WARNING **: can't load plugin '/build/local/lib/evolution/2.24/plugins/liborg-gnome-exchange-operations.so': /build/local/lib/evolution/2.24/components/libevolution-calendar.so: undefined symbol: set_timezone

I tried to make/make install in the evolution's root, but no luck, the runtime thing is still there (maybe forcing rebuild would help here?)
Comment 5 Chenthill P 2008-08-14 09:15:14 UTC
Fix committed.
Comment 6 Milan Crha 2008-08-15 14:36:51 UTC
Kinda bad regression (or however you want to name it), I have enabled birthdays and anniversaries calendar, I have some contacts with b &/| a, and when I open evolution (before evo --force-shutdown), on the day where are supposed to be some events from the contacts backend, then I do not see them. It's enough to move to other day and back and it's there.
Comment 7 Michael Monreal 2008-08-15 18:54:57 UTC
Milan, after the trial & error game today I updated to trunk again and things are still working fine for me, e.g. no back/forth switching required for me.
Comment 8 Michael Monreal 2008-08-16 09:23:48 UTC
Update: After lots of testing, I have seen this a number of times, too. It's not happening all the time and if it happens I can normally display all events by just disable/enable the B&A calendar once. Also, sometimes only a few birthdays show and a few are missing.
Comment 9 Peter Robinson 2008-08-16 10:10:36 UTC
chenthill: what was the svn revision for the commit from comment #5?
Comment 11 Chenthill P 2008-08-18 10:06:09 UTC
michael, mcrha, will test it out and cook a fix for b/a calendar issue..
Comment 12 Michael Monreal 2008-08-19 11:09:33 UTC
UPDATE!

This does _not_ only affect the B&A calendar! I just started evo and went to the cal component to find that my GNOME release schedule was not displayed. It was activated, though. Deactivating and activating it made it show up just fine again.

So I suppose there is a general problem with calendars in 2.23.x which shows more with some and less with other calendars. It is however a serious flaw as it could lead people to miss appointments etc. IMHO bumping the priority would be a good idea at this point.
Comment 13 Michael Monreal 2008-08-21 07:34:55 UTC
Created attachment 117117 [details]
Semi new finding screenshot

maybe this is interesting. When started today, my GNOME schedule cal was again not visible though it was active. I noticed however that the mini cal view in the bottom left shows the days which have AND SHOULD HAVE events as bold, so it seems to work down there.
Comment 14 Chenthill P 2008-08-21 08:54:58 UTC
Michael, did you find any warnings in the terminal saying "Could not get the query" ? I think it might related to fetching the queries.
Comment 15 Michael Monreal 2008-08-21 09:43:21 UTC
@chenthill: yes I see this warning:

(evolution:20961): e-data-server-DEBUG: Loading categories from "/home/nx/.evolution/categories.xml"
(evolution:20961): e-data-server-DEBUG: Loaded 13 categories
Changing the queries (contains? "summary" "") 

(evolution:20961): calendar-gui-WARNING **: gnome-cal.c:910: Could not create the query: Backend is busy 
Triggering summary_reloaded on INBOX 0xb253c420
calendar-gui-Message: Check if default client matches (1181761339.14309.8@enigma 1181761339.14309.8@enigma)

I also noticed now then when the B&A calender items are not displayed, they too seem to mark the days bold in the bottom left mini cal widget. Does this make any sense?
Comment 16 Chenthill P 2008-08-21 11:53:11 UTC
Ah ok. I know the problem. The warning, 

(evolution:20961): calendar-gui-WARNING **: gnome-cal.c:910: Could not create
the query: Backend is busy

says it all. The reason for this is, at any point in time ecal interface cannot handle two calls simultaneously. Now if date navigator and say dayview calls e_cal_get_query at the same time, one of them would fail. So I put a poll for three times with a sleep on the thread to try to get the query again. I will get a better solution for this.
Comment 17 Chenthill P 2009-01-19 07:12:55 UTC
This "Backend is busy" can be best solved using the dbus-port for eds. Am now working on a temporary fix for the same.
Comment 18 Chenthill P 2009-01-20 09:34:43 UTC
Created attachment 126824 [details] [review]
Avoids un-necessary ipc calls

The real patch is inside e_cal_generate_instances_for_object. Other part of the code is for debugging purposes, to find the current operation going on.
Comment 19 Chenthill P 2009-01-20 09:40:08 UTC
Created attachment 126825 [details] [review]
Increase the tries to 10 and sleep to 500 micro seconds.

I tried to find an average time get_query takes and it was around 4000ms. I could not find why certain cals even came upto 17k ms. This will anyway be fixed while moving to dbus port. So this is a temporary fix for the problem.
Comment 20 Milan Crha 2009-01-20 12:23:08 UTC
As a temporary fix looks good. Feel free to commit both to trunk, and maybe the second also to stable.
Comment 21 Chenthill P 2009-01-30 10:45:18 UTC
committed the patch to trunk and stable.