PDA

View Full Version : Bug in Qt 4.6.2?



lukass
25th February 2010, 13:25
Hello.

I have small application code, which demonstrates difference between running this program on Windows and Linux.

On Linux - Qt 4.6.2(correct behavior):
1) run program,
2) click right mouse button on "Data" row in table - context menu will show up,
3) click left mouse button(not in context menu) on "Data" row in table - context menu will hide

On Windows XP - Qt 4.6.2(wrong behavior):
1) run program,
2) click right mouse button on "Data" row in table - context menu will show up,
3) click left mouse button(not in context menu) on "Data" row in table - context menu will hide
- QMessageBox will show up.

Working app(source code) is in attachment.

Is this bug in Qt 4.6.2?
How can I fix this in my app?

wysota
25th February 2010, 21:11
How do you know this is not a system policy that on Windows such mouse events are not discarded? From what I remember (I might be wrong though) that's exactly what is expected. How did 4.6.1 behave in this situation, have you checked this?

squidge
25th February 2010, 21:39
I expect the "wrong behaviour" - if I click somewhere, I expect the context menu to disappear AND for it to process the click. The same as when clicking in a window to activate it - I want the window to active AND for the application to process the click (If I didn't want it to process the click, I wouldn't be clicking in the window in the first place)

lukass
26th February 2010, 11:54
How do you know this is not a system policy that on Windows such mouse events are not discarded? From what I remember (I might be wrong though) that's exactly what is expected.
I don't know.


How did 4.6.1 behave in this situation, have you checked this?
1) I compiled this program with qt 4.6.1 on Linux and I tested on KDEmod 3.5.10 and without DE(only X and my program), result: same "correct behavior".
2) I compiled this program with qt 4.6.1 on Windows XP SP3 and I tested on that Windows and on other computer with Windows Vista Home Premium SP2, result: same "wrong behavior".


I expect the "wrong behaviour" - if I click somewhere, I expect the context menu to disappear AND for it to process the click. The same as when clicking in a window to activate it - I want the window to active AND for the application to process the click (If I didn't want it to process the click, I wouldn't be clicking in the window in the first place)
Maybe you're right, but I want in this program "correct behavior" on Windows. IMHO "correct behavior" is more acceptable.

squidge
26th February 2010, 12:45
then you'll need to code it yourself

wysota
26th February 2010, 14:15
Or file a complaint to Redmond :)