Opened 11 years ago

Closed 11 years ago

#12469 closed defect (fixed)

wxMac: wxListCtrl rename timer conflict between native and generic control

Reported by: botg Owned by:
Priority: normal Milestone:
Component: old wxOSX/Carbon port Version:
Keywords: Cc:
Blocked By: Blocking:
Patch: yes


The generic wxListCtrl has a rename timer to start renaming 250ms after a click on the current control.

The wxListCtrl implementation in listctrl_mac.cpp also has a rename timer implementation that is set as well even if the generic implementation is used.

Also, the native timer is set to a low 100ms which is probably too fast. Double-clicking an already selected item is virtually impossible for most users in under 100ms.

The attached patch corrects this problem by disabling the native timer if the generic implementation is used. Furthermore, the native timer interval is increased to 250ms to give users a better chance at double-clicking already selected items.

Patches are for both 2.8 as well as trunk.

Attachments (2)

wxmac_generic_listctrl_rename_28.patch download (533 bytes) - added by botg 11 years ago.
wxmac_generic_listctrl_rename_trunk.patch download (533 bytes) - added by botg 11 years ago.

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by botg

comment:2 Changed 11 years ago by vadz

  • Status changed from new to confirmed

To be honest the code in src/osx/carbon/listctrl_mac.cpp just doesn't make much sense to me: we shouldn't be not only starting but not even creating nor stopping this timer when using the generic version AFAICS. In fact we probably shouldn't be even catching mouse events at all in this case (we could use Connect() to only connect them when not using the generic version).

I guess the patch for 2.8 should be applied because it's minimal and seems to be safe but in the trunk I think this code needs to be changed much more radically.

But in any case I leave this to somebody else as I'm not familiar with this code at all.

comment:3 Changed 11 years ago by TIK

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

(In [65723]) Connect to events only if using native implementation instead of using event table. Closes #12469

Note: See TracTickets for help on using tickets.