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 407104 - clock applet does not load evolution calendars
clock applet does not load evolution calendars
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Shell
2.10.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2007-02-12 15:50 UTC by Sebastien Bacher
Modified: 2013-09-13 00:50 UTC
See Also:
GNOME target: ---
GNOME version: 2.17/2.18


Attachments
Proposed patch (1.65 KB, patch)
2007-04-21 03:53 UTC, Matthew Barnes
rejected Details | Review

Description Sebastien Bacher 2007-02-12 15:50:18 UTC
That bug has been opened on https://launchpad.net/bugs/84554

"...
My calendars defined in Evolution are shown properly when clicking on the clock applet.
However, if I double-click on a date Evolution does not start (as earlier).
..."


"evolution calendar:///?startdate=..." doesn't work neither, that looks like an evolution bug
Comment 1 André Klapper 2007-02-16 23:09:25 UTC
side effect of bug 162305?
Comment 2 Gert Kulyk 2007-03-14 12:15:39 UTC
Using Evolution 2.10, I do not have access to the calendar: uri. While mailto: contacts: tasks: are working, calendar simply does not start (well something is loading, but gui does not open).
Comment 3 Gert Kulyk 2007-03-14 14:06:18 UTC
Seems like it is related to commit for bug #270751. Removing "<oaf_attribute name="evolution:uri_schemas" type="stringv"> <item value="calendar"/> </oaf_attribute>" from GNOME_Evolution_Calendar.server makes the calendar:// uri accessible via command-line (and therefore via clock-applet) again.
Comment 4 Matthew Barnes 2007-04-21 03:17:17 UTC
Backing out the "uri_schemas" changes from GNOME_Evolution_Calendar.server does indeed make launching Evolution from the calendar applet work again.  This seems to be a result of the logic of impl_Shell_handleURI() in e-shell.c, which I'm having difficulty understanding.  It goes something like this:

    1) Lookup the URI's schema in the component registry.
    2) If the schema was NOT found, look for an alias of the URI's schema in
       the component registry.
    3) If step (1) failed but step (2) succeeded, open a shell window.
    4) If step (1) OR step (2) succeeded, handle the URI.

So it looks like the "uri_schemas" additions to GNOME_Evolution_Calendar.server
are causing step (1) to SUCCEED, and therefore no shell window is opened (!?).

I am baffled by this logic.  Changing step (3) to read:

    3) If step (1) OR step (2) succeeded, open a shell window.

resolves the issue without having to back out the "uri_schemas" changes.

Can someone with some historical perspective explain the rationale here?
Comment 5 Matthew Barnes 2007-04-21 03:42:44 UTC
I traced the origin of the handleURI() logic to bug #258827.  Doesn't really provide much insight other than Michael mentioning the solution was a hack.

Here's the diff:
http://svn.gnome.org/viewcvs/evolution/trunk/shell/e-shell.c?r1=26098&r2=26137
Comment 6 Matthew Barnes 2007-04-21 03:53:02 UTC
Created attachment 86723 [details] [review]
Proposed patch

This patch changes the handleURI() logic as described in comment #4.

I still feel like I might be overlooking something important here, so I'd prefer Chen or Srini weigh in on this before committing the patch.
Comment 7 Srinivasa Ragavan 2007-05-11 19:03:59 UTC
Matthew, it looks like more of an bug to me. I might be wrong. But atleast I remember anything from this.

"        * e-shell.c (impl_Shell_handleURI): Fixed for api change.
        (impl_Shell_handleURI): check the component alias for an alternate
        uri schema path.  'quick hack' for activating components from
        command line.  This may, or may not, continue to function.
"

This is zucci's revision log for the change. From this, I feel that it could be a bug.
Comment 8 Matthew Barnes 2007-05-12 01:14:40 UTC
Committed to Subversion trunk (revision 33514).  Thanks for reviewing!
Comment 9 Chenthill P 2007-05-12 15:57:54 UTC
Matthew,srini I think it makes sense to not show the shell window if the uri schema is found. For example, you would need to be able to open a mail using the uri email:/// without opening the shell window. IIRC beagle uses the same. Though
calendar requires the shell to be opened for opening the appointments through
uri, it would be better in future to open the appoinment editor alone without
opening the shell. Its better to remove the uri_shchema for calendar as it is
not required. We need to add some schema's such as appointment:/// to open the
individual appointments.
Comment 10 Srinivasa Ragavan 2007-05-12 17:44:43 UTC
Chen, you are right. Beagle uses this heavily. I was thinking off the mailto: which use to launch shell. Ill reopen the bug and Matthew, can you revert your patch and add the other one which removes the two lines. 

NOTE: I would prefer to comment out the lines in server.in.in file along with a FIXME that it should have a interface to launch without shell.

Sorry for the confusion and trouble.
Comment 11 Matthew Barnes 2007-05-14 00:50:14 UTC
Srini, I reverted my patch in revision 33523 but I'll let you commit the GNOME_Evolution_Calendar.server.in.in changes since I'm not entirely sure what you want the FIXME comment to say.

Chen, thanks for clarifying the intent of the logic.
Comment 12 Srinivasa Ragavan 2007-05-14 04:35:58 UTC
Done.