Author Topic: BrowseTracker dialog is not closing  (Read 37288 times)

Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
BrowseTracker dialog is not closing
« on: December 20, 2020, 03:22:12 pm »
I have problem with BrowseTracker plugin:
when I Alt+Left, BrowseTracker dialog is shown. However it remains shown when I release Alt key. I have to double-click on the file name to close the dialog.

I use my custom build of C::B: Ubuntu, latest wxWidgets (I tried with v3.1.4 and latest Git), GTK 3.

Do somebody have had such problem?

I searched for the source of the problem. I found, that events wxEVT_KEY_DOWN and wxEVT_KEY_UP are not captured somehow. Therefore in BrowseSelector.cpp I connected 'm_panel' instead of 'm_listBox':

    - m_listBox->Connect(wxID_ANY, wxEVT_KEY_UP, wxKeyEventHandler(BrowseSelector::OnKeyUp), NULL, this);
    - m_listBox->Connect(wxID_ANY, wxEVT_KEY_DOWN, wxKeyEventHandler(BrowseSelector::OnKeyDown), NULL, this);
    + m_panel->Connect(wxID_ANY, wxEVT_KEY_UP, wxKeyEventHandler(BrowseSelector::OnKeyUp), NULL, this);
    + m_panel->Connect(wxID_ANY, wxEVT_KEY_DOWN, wxKeyEventHandler(BrowseSelector::OnKeyDown), NULL, this);

Now plugin works as is expected. However, I am unsure, if this solution will work on all platforms.

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #1 on: December 20, 2020, 09:56:41 pm »
I'll have a look at it. Thanks for the suggestions.

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #2 on: December 23, 2020, 10:55:02 pm »
Fixed svn 12254
Missing GetEventHandler()'s

Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
Re: BrowseTracker dialog is not closing
« Reply #3 on: December 25, 2020, 02:56:07 pm »
Thank you!

Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
Re: BrowseTracker dialog is not closing
« Reply #4 on: December 26, 2020, 09:50:42 am »
I tried to understand why the GetEventHandler() call in the patch is required. And I couldn't. Could you @Pecan explain it?

Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
Re: BrowseTracker dialog is not closing
« Reply #5 on: December 26, 2020, 11:46:25 am »
I just recompiled C::B with SVN 12270. The problem still there: the BrowseTracker dialog remains opened.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7664
    • My Best Post
Re: BrowseTracker dialog is not closing
« Reply #6 on: December 26, 2020, 02:06:52 pm »
I tried to understand why the GetEventHandler() call in the patch is required. And I couldn't. Could you @Pecan explain it?

In an recent, wxWdgets upgrade likely 2.8 to 3.0 or maybe 3.0 to 3.1 the event handling system was changed and it is recommended or required to use  GetEventHandler() call for proper event handling. I could be wrong about that since I am not an wxWidgets programmer; but, I have upgraded a few wxWidgets projects to either 3.1 or 3.0.

https://docs.wxwidgets.org/trunk/overview_events.html

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #7 on: December 27, 2020, 06:29:35 am »
I'll revisit the problem. I think it's because the dialog does not get or looses focus.

Are you running your os with focus-follows-mouse?
« Last Edit: December 27, 2020, 06:33:44 am by Pecan »

Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
Re: BrowseTracker dialog is not closing
« Reply #8 on: December 27, 2020, 08:26:19 am »
Thank you, @stahta01, for the reply.

@Pecan:
Quote
Are you running your os with focus-follows-mouse?

I looked into Tweaks. There is selected option "Click to focus". I haven't changed this option since OS install.

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #9 on: December 28, 2020, 08:51:52 pm »
@darmar

Could you tell me how exactly to create this situation?
I'm having problem reproducing it.

What keys or sequence of keys do you use?
thanks


Offline darmar

  • Multiple posting newcomer
  • *
  • Posts: 68
Re: BrowseTracker dialog is not closing
« Reply #10 on: December 29, 2020, 01:35:04 pm »
Thank you for taking your time to investigate this issue. I guess there aren't many users who try to compile and use C::B with the latest wxWidgets on Linux. There are no C::B project files for wx3.1.* too. If you can't reproduce this problem, then, perhaps, is better to wait. I can live with the 'temporal' solution I described.

Quote
What keys or sequence of keys do you use?

I use default  key combination: Alt+Left or Alt+Right. And after that, the dialog remains opened.

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #11 on: December 29, 2020, 10:44:01 pm »
Quote
What keys or sequence of keys do you use?

I use default  key combination: Alt+Left or Alt+Right. And after that, the dialog remains opened.

Until I can find a fix, you can also use Ctrl-tab to switch between editors. The key combination is built in (hard coded) already.

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #12 on: December 31, 2020, 09:09:51 pm »
I'm finding this problem in more than just the dialog in Browsetracker.

One time out of 10, some CB dialogs like find-in-files appear with no focus. Even the esc key won't dismiss them. the dialog is disabled until I move the mouse into the dialog, it then works as expected.

Is anyone else experiencing this problem?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: BrowseTracker dialog is not closing
« Reply #13 on: January 01, 2021, 03:06:06 am »
Yes, I think I see this on some small dialogs with wx+gtk2. The dialogs are disabled until I move the mouse outside and back inside the dialog.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2802
Re: BrowseTracker dialog is not closing
« Reply #14 on: January 01, 2021, 06:49:55 am »
Yes, I think I see this on some small dialogs with wx+gtk2. The dialogs are disabled until I move the mouse outside and back inside the dialog.

Thanks, I'll start tracking this down.
I'd appreciate any suggestions from anyone about where to start looking.

Please tell me what OS,  wxWidgets and CB version you're running.
Also, for those not experiencing the problem, please tell us the same so we can narrow the field.
« Last Edit: January 01, 2021, 06:53:01 am by Pecan »