Bug 21996 - Crashes if you poke Hold or CallStates before RequestStreams
Summary: Crashes if you poke Hold or CallStates before RequestStreams
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: highest critical
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/wj...
Whiteboard:
Keywords: patch
Depends on:
Blocks: 22031
  Show dependency treegraph
 
Reported: 2009-05-29 10:10 UTC by Will Thompson
Modified: 2009-06-10 03:47 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Will Thompson 2009-05-29 10:10:08 UTC
The Hold and CallStates code assumes that a media channel has a JingleSession. This is not true before you actually initiate the call.

It's not immediately clear to me what should happen if you RequestHold() on an uninitiated call. Should it fail? Or should it succeed, and send <hold/> as soon as you initiate?

Regardless, calling GetCallStates and RequestHold does crash Gabble; I'd like to fix this before releasing 0.7.28, so setting this bug to blocker.
Comment 1 Will Thompson 2009-06-01 10:21:06 UTC
The GetCallState() crash has been fixed, and will be in 0.7.28.

Downgrading the bug to critical: Hold-before-initiate crashing is not a new issue, and isn't actively causing problems, but should still be fixed ASAP.
Comment 2 Will Thompson 2009-06-02 07:18:31 UTC
My branch hold-before-call-starts addresses the remaining issue, as well as addressing #22031 (by forbidding answering calls you've put on hold).
Comment 3 Guillaume Desmottes 2009-06-10 03:03:58 UTC
Looks good. Very clear patches, nice done!
Don't forget to upgrade NEWS.
Comment 4 Will Thompson 2009-06-10 03:47:48 UTC
Merged; will be in 0.7.29. Thanks!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.