Opened 2 years ago

Last modified 2 weeks ago

#15115 reopened defect

wxComboBox drop down list disappears when any event is processed

Reported by: bartvanstiphout Owned by:
Priority: normal Milestone:
Component: wxOSX-Cocoa Version: 2.9.5
Keywords: wxCombobox difficult Cc: mrspoek@…
Blocked By: Blocking:
Patch: no

Description

If a wxComboBox is showing the drop down list and a wxDatagramSocket sends a packet using SendTo, the drop down list disappears.

OSX 10.7.5
wxOSX Cocoa 2.9.4

Attachments (1)

15115.patch download (2.8 KB) - added by sbrowne 8 months ago.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 2 years ago by vadz

  • Keywords difficult added; sendto removed
  • Status changed from new to confirmed
  • Summary changed from wxComboBox drop down list disappears on wxDatagramSocket::Sendto to wxComboBox drop down list disappears when any event is processed

I can confirm the bug, although it has nothing to do with the sockets, it seems like the drop down is closed whenever any event is processed, see this thread. Unfortunately it looks like it's a problem at OS X level so I have no idea if it can be fixed in wxOSX.

comment:2 Changed 2 years ago by SC

  • Resolution set to fixed
  • Status changed from confirmed to closed

(In [74186]) guarding open combo box against AppDefined NSEvents issued by wxEventLoop::WakeUp, fixes #15115

comment:3 Changed 2 years ago by SC

(In [74187]) guarding open combo box against AppDefined NSEvents issued by wxEventLoop::WakeUp, fixes #15115

comment:4 Changed 2 years ago by Spoek

  • Cc mrspoek@… added
  • Resolution fixed deleted
  • Status changed from closed to reopened
  • Version changed from 2.9.4 to 2.9.5

It seems the fix is only working when you click the drop box down with the mouse. If you press cursor down whilst being in the textbox part, the drop down list opens, but closes immediatly on an event like doing an cursor down (trying to scroll down the list).

comment:5 Changed 8 months ago by sbrowne

Note this also affects programmatically opening up the drop down via the new Popup() function which makes it incredibly annoying to use wxGridCellChoiceEditors. I eventually inherited from wxGridCellChoiceEditor and if !m_allowOthers I use a wxChoice instead to work around the issue.

I can confirm that this is also the case in 3.0.2. I'm glad I found this ticket because it was driving me nuts and I couldn't for the life of me figure out the actual cause and why I didn't hit it in the sample code.

comment:6 Changed 8 months ago by sbrowne

I just looked at the revisions above and it should be pretty easy fix the last two scenarios mentioned. I'll test that out and attach a patch if it works.

Changed 8 months ago by sbrowne

comment:7 Changed 8 months ago by sbrowne

  • Patch set

See the attached patch which I've tested and fixes all 3 scenarios. I basically just used the same code from r74186 and r74187 except I moved the OSXUseLowLevelWakeup(false) call into the comboBoxWillDismiss handler so it will catch all 3 paths.

comment:8 Changed 2 weeks ago by vadz

  • Patch unset

Unfortunately the patch doesn't apply any more (even after removing the bogus 1 from the file names), could you please update and retest it? I'll try to return to it sooner this time. TIA!

Note: See TracTickets for help on using tickets.