[Bug 279135] Phonon-gstreamer assertion "Cannot send events to objects owned by a different thread." [@ Phonon::Gstreamer::X11Renderer::movieSizeChanged]

Harald Sitter sitter at kde.org
Tue Aug 2 16:49:41 BST 2011


On Tue, Aug 2, 2011 at 4:50 PM, Trever Fischer
<tdfischer at fedoraproject.org> wrote:
> --- Comment #1 from Trever Fischer <tdfischer fedoraproject org>  2011-08-02 14:50:17 ---
> Git commit e08b43c99ff4a1e2705f697249804e19ef9f846f by Trever Fischer.
> Committed on 02/08/2011 at 16:45.
> Pushed by tdfischer into branch 'master'.
>
> Sometimes we get the cb_capsChanged handler in a different thread.
>
> BUG:279135
>
> M  +3    -1    gstreamer/videowidget.h
> M  +3    -2    gstreamer/videowidget.cpp
>
> http://commits.kde.org/phonon-gstreamer/e08b43c99ff4a1e2705f697249804e19ef9f846f

I think we should make it a policy to always use invokeMethod in
callbacks, or if there is a good reason not to do so, that it needs
documenting why invokeMethod would not make sense. Perhaps even a
queued invocation by policy?

In like every case I have seen a callback not use invokeMethod it
either dragged a different thread context through all sorts of
not-thread-safe components and then resulted in an obscure segfault,
or it did not segfault but leak memory somewhere along the way, or it
did cause premature signal emission.

Opinions?

regards,
Harald
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


More information about the kde-multimedia mailing list