kynikos / outspline

Extensible outliner and personal time organizer to manage todo lists, schedule tasks, remind events.
http://kynikos.github.io/outspline/
GNU General Public License v3.0
47 stars 9 forks source link

Interface IDs are limited #355

Open kynikos opened 9 years ago

kynikos commented 9 years ago

Outspline cannot be executed for an indefinite time because when widgets are created (e.g. when opening an item's editor tab) they get a progressive ID which is limited by the system's maximum integer size, which would probably eventually raise an exception and crash the application.

Also the usage of wx.NewId() for e.g. accelerators is affected. Note that however menu items are limited by wxPython to a much lower ID range, but they are not created dynamically, so it shouldn't be a problem.

Of course on 64-bit systems we're talking about 2^63 possible IDs, which should be well enough to make a crash due to this as (or even less) likely as a crash of the whole system (or a simple manual reboot).