[Kde-games-devel] Fix double-click bug in GameScene code of KMahjongg

Ian Wadham iandw.au at gmail.com
Tue Dec 29 12:10:16 UTC 2015


On 23/12/2015, at 8:43 AM, Ian Wadham wrote:

> Hi Frederik,
> 
> On 23/12/2015, at 12:37 AM, Frederik Schwarzer wrote:
>> Am Sonntag, 20. Dezember 2015, 09:26:29 schrieb Ian Wadham:
>>> The QApplication doco on this method is a bit ambiguous, see:
>>>   Qt 4 - http://doc.qt.io/qt-4.8/qapplication.html#doubleClickInterval-prop
>>>   Qt 5 - http://doc.qt.io/qt-5/qapplication.html#doubleClickInterval-prop
>> 
>> Indeed. That's scary to read. The behaviour might have been changed to 
>> "affects this application only" in Qt5 but who knows until tested on 
>> all platforms.
>> 
>>> So, please remove those two lines from main.cpp and use my patch for
>>> KMahjongg's GameScene class files.
>> 
>> Anyway, I applied your patch. Here it works as the first click selects 
>> the tile and the second click is ignored when it occurs within the 
>> double-click timespan. Is that what you intended?
> 
> Thanks, Frederik.  That is absolutely what I intended, but the patch uses
> accept(), rather than ignore(), in the double-click event-handler, and then
> performs no action.  That is what I call "swallowing" the event" (old-time
> real-time programmer's jargon).
> 
> In Qt's Event class, "ignore()" passes the event up the chain for a default
> action, which is NOT what is wanted, because it can allow a tile to be
> selected and removed invalidly (against the rules of KMahjongg).
> 
> Cheers, Ian W.
> 
> _______________________________________________
> kde-games-devel mailing list
> kde-games-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kde-games-devel



More information about the kde-games-devel mailing list