Bug 12609 - Own signals not working with ruby 2.0.0 and qt4-ruby 4.11.4
Summary: Own signals not working with ruby 2.0.0 and qt4-ruby 4.11.4
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 4
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: has_procedure advisory mga4-32-ok mga...
Keywords: Triaged, validated_update
Depends on:
Blocks:
 
Reported: 2014-02-05 14:27 CET by Nicolas Salguero
Modified: 2015-03-05 20:34 CET (History)
3 users (show)

See Also:
Source RPM: ruby-qt4
CVE:
Status comment:


Attachments
Patch to handle own signals (646 bytes, patch)
2014-02-05 14:27 CET, Nicolas Salguero
Details | Diff

Description Nicolas Salguero 2014-02-05 14:27:43 CET
Created attachment 4937 [details]
Patch to handle own signals

Hi,

With ruby 2.0.0 and qt4-ruby 4.11.4, a program can use predefined signals but custom signals are silently ignored.

When searching the words "qt4 ruby 2.0.0 custom signal" on the Web, I found this page http://stackoverflow.com/questions/15583114/qtruby-emit-does-not-work where someone says qtbindings 4.8.5.2 is not affected and, by comparing between qtbindings 4.8.5.2 and qt4-ruby 4.11.4, I found the main difference is usage of "rb_frame_this_func()" instead of "rb_frame_callee()".

So I tried to recompile qt4-ruby 4.11.4 with the attached patch and the custom signals work again (I have successfully tested with a game I wrote : http://onetofive.sourceforge.net).

Hope this helps.

Nico.
Comment 1 Nicolas Salguero 2014-02-05 15:57:08 CET
I have also filled a bug report in the upstream project : https://bugs.kde.org/show_bug.cgi?id=330800
Manuel Hiebel 2014-02-05 18:26:27 CET

Keywords: (none) => Triaged
CC: (none) => balcaen.john, lmenut
Assignee: bugsquad => mageia
Source RPM: (none) => ruby-qt4

Comment 2 Nicolas Salguero 2014-03-21 17:03:13 CET
Hi,

The code has not evolved since 2013-06-01 (last commit) so the problem is the same in 4.11.5 (Mga4 Testing) and 4.12.80 (Cauldron).

Regards.

Nico.
Comment 3 Nicolas Salguero 2014-10-08 15:30:34 CEST
Hi,

The problem still persists in Cauldron (ruby-qt4-4.14.1-1.mga5).

Best regards.

Nico.
Comment 4 Nicolas Salguero 2015-02-12 16:19:17 CET
Hi,

As upstream has not corrected the bug yet, is it possible to apply my patch to Cauldron pkg so that ruby-qt4 will work out of the box when mga5 is released?

Best regards,

Nico.
Comment 5 Luc Menut 2015-02-17 23:56:14 CET
(In reply to Nicolas Salguero from comment #4)
> Hi,
> 
> As upstream has not corrected the bug yet, is it possible to apply my patch
> to Cauldron pkg so that ruby-qt4 will work out of the box when mga5 is
> released?
> 

yep, sorry for the delay. I prefer that patches are reviewed and applied upstream, but they are really looooooooooong to react ;-(

so I pushed updated packages with your patch:
- ruby-qt4-4.14.3-3.mga5 in cauldron,
- ruby-qt4-4.12.5-1.1.mga4 in mga4 updates_testing.

Thanks for the patch, and your patience.
Comment 6 Luc Menut 2015-03-01 17:32:39 CET
Suggested advisory:

Updated ruby-qt4 packages fix custom signals with ruby 2.0.0

With ruby 2.0.0, custom signals are silently ignored in applications using ruby-qt4.
The issue is fixed with this update.

References:
https://bugs.mageia.org/show_bug.cgi?id=12609
https://bugs.kde.org/show_bug.cgi?id=330800
https://git.reviewboard.kde.org/r/120537/
https://github.com/ryanmelt/qtbindings/commit/d2aa7deb995d3ecede0c7bb255df3af3cd293238

src.rpm:
ruby-qt4-4.12.5-1.1.mga4.src.rpm

packages i586:
libqtruby4shared2-4.12.5-1.1.mga4.i586.rpm
ruby-qt4-4.12.5-1.1.mga4.i586.rpm
ruby-qt4-devel-4.12.5-1.1.mga4.i586.rpm

packages x86_64:
lib64qtruby4shared2-4.12.5-1.1.mga4.x86_64.rpm
ruby-qt4-4.12.5-1.1.mga4.x86_64.rpm
ruby-qt4-devel-4.12.5-1.1.mga4.x86_64.rpm

Assignee: mageia => qa-bugs

Comment 7 claire robinson 2015-03-05 16:04:29 CET
Can you give us a way to test this please?
Comment 8 claire robinson 2015-03-05 16:10:34 CET
Testing complete mga4 64

There is actually a simple testcase attached to the upstream kde bug report
https://bugs.kde.org/show_bug.cgi?id=330800#c5

Saved it as test12607.rb

Before
------
$ ruby test12609.rb

no output


After
-----
$ ruby test12609.rb 
SIGNAL RECEIVED

Whiteboard: (none) => has_procedure mga4-64-ok

Comment 9 claire robinson 2015-03-05 16:23:25 CET
Oops typo, saved the file as test12609.rb, not test12607.rb as above.
Comment 10 claire robinson 2015-03-05 17:32:02 CET
Testing complete mga4 32

Whiteboard: has_procedure mga4-64-ok => has_procedure mga4-32-ok mga4-64-ok

Comment 11 claire robinson 2015-03-05 17:55:32 CET
Validating. Advisory uploaded.

Please push to 4 updates

Thanks

Keywords: (none) => validated_update
Whiteboard: has_procedure mga4-32-ok mga4-64-ok => has_procedure advisory mga4-32-ok mga4-64-ok
CC: (none) => sysadmin-bugs

Comment 12 Mageia Robot 2015-03-05 20:34:48 CET
An update for this issue has been pushed to Mageia Updates repository.

http://advisories.mageia.org/MGAA-2015-0016.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.