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.
I have also filled a bug report in the upstream project : https://bugs.kde.org/show_bug.cgi?id=330800
Keywords: (none) => TriagedCC: (none) => balcaen.john, lmenutAssignee: bugsquad => mageiaSource RPM: (none) => ruby-qt4
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.
Hi, The problem still persists in Cauldron (ruby-qt4-4.14.1-1.mga5). Best regards. Nico.
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.
(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.
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
Can you give us a way to test this please?
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
Oops typo, saved the file as test12609.rb, not test12607.rb as above.
Testing complete mga4 32
Whiteboard: has_procedure mga4-64-ok => has_procedure mga4-32-ok mga4-64-ok
Validating. Advisory uploaded. Please push to 4 updates Thanks
Keywords: (none) => validated_updateWhiteboard: has_procedure mga4-32-ok mga4-64-ok => has_procedure advisory mga4-32-ok mga4-64-okCC: (none) => sysadmin-bugs
An update for this issue has been pushed to Mageia Updates repository. http://advisories.mageia.org/MGAA-2015-0016.html
Status: NEW => RESOLVEDResolution: (none) => FIXED