Bug #17950 2011-02-21 04:00

moonwalker

Code::Blocks blocks left mouse button click

After some time working in SVN 7015 on Debian Wheezy x64 systems stops responding to left mouse click, except for tabs in code editor. Once all tabs in Code::Blocks are closed mouse starts working again, however Code::Blocks crashes soon after.

Category
Application::Interface
Group
 
Status
Closed
Close date
2011-02-23 11:20
Assigned to
jenslody
jenslody 2011-02-22 21:34

Can you reproduce this issue, if yes can you give me a step by step instruction to reproduce ?

moonwalker 2011-02-22 22:11

Unfortunately, I'm haven't yet figured out exact steps to trigger the left mouse click block issue, it appears to be somewhat random. But it does seem to happen in association with open wxSmith tab. Once the left mouse clicks were blocked though it reliably crashes as soon as I do following steps:

1) close all tabs (through Ctrl+W, while I can switch by mouse between tabs I can't close them by clicking on close button on tab itself). Once all tabs are closed systems starts processing left clicks again.

3) Open any tab - either source code or wxSmith.

4) Left click inside wxSmith or code editor window - this step triggers immediate crash.

My uneducated guess is that it has something to do with mouse event handler in tab manager, though I have no clue how it can block left mouse click system-wide. Some messed up pointer?

I will keep my eye on this issue and report back as soon as I find more info.

Thanks for your hard work, Jens!

jenslody 2011-02-23 11:20

I just committed a fix for this issue (svn r7027).

It is easy reproducible: move the mous over a tab, press left mouse-button before the tooltip appears and release it if the tooltip is there but the mouse still over the tab.

The tooltip (wxTipwindow) seems to "steal" the left-up-event, so the tabCtrl does not release the mouse.

Now I check if the tabCtrl still has the mouse-capture if the mouse leaves it and force a release.

I will upload the newest version to my repo this afternoon.

Jens