Bug 64837 - Definition of TpCallStream::local-sending-state-changed is wrong
Summary: Definition of TpCallStream::local-sending-state-changed is wrong
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: tp-glib (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Telepathy bugs list
QA Contact: Telepathy bugs list
URL: http://cgit.collabora.com/git/user/xc...
Whiteboard:
Keywords: patch
: 64715 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-05-21 18:54 UTC by Owen Taylor
Modified: 2013-05-23 09:44 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Owen Taylor 2013-05-21 18:54:57 UTC
Currently unless you disable fatal warnings, the build of telepathy-glib fails because the docs for TpCallStream::local-sending-state-changed don't match the signal definition. It turns out that the signal definition itself is wrong:

  /**
   * TpCallStream::local-sending-state-changed:
   * @self: the #TpCallStream
   * @state: the new #TpSendingState
   * @reason: the #TpCallStateReason for the change
   *
   * The ::local-sending-state-changed signal is emitted whenever the
   * stream sending state changes.
   *
   * Since: 0.17.5
   */
  _signals[LOCAL_SENDING_STATE_CHANGED] = g_signal_new ("local-sending-state-changed",
      G_OBJECT_CLASS_TYPE (klass),
      G_SIGNAL_RUN_LAST,
      0, NULL, NULL, NULL,
      G_TYPE_NONE,
      4, G_TYPE_UINT, G_TYPE_UINT, TP_TYPE_CALL_STATE_REASON,
      G_TYPE_HASH_TABLE);

The docs have two parameters, the signal definition 4 parameters, and when emitted:

  g_signal_emit (self, _signals[LOCAL_SENDING_STATE_CHANGED], 0,
      self->priv->local_sending_state, r);

2 again. I'm surprised this isn't causing crashes - most likely this code never gets hit.
Comment 1 Xavier Claessens 2013-05-22 08:53:59 UTC
That seems wrong indeed, and that's like that since the beginning, my fault according to git blame.

Fix: http://cgit.collabora.com/git/user/xclaesse/telepathy-glib.git/commit/?h=call-stream&id=8e6b3438e6ec8f94ad83786ea60d183f23c2a8fe

Empathy never connects that signal, that's probably why it does not crash... or maybe it does crash, I've seen some empathy-call crashes...
Comment 2 Guillaume Desmottes 2013-05-22 09:00:03 UTC
++
Comment 3 Xavier Claessens 2013-05-22 09:04:12 UTC
Merged in master and telepathy-glib-0.20 branches.
Comment 4 Simon McVittie 2013-05-23 09:44:24 UTC
*** Bug 64715 has been marked as a duplicate of this bug. ***


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.