[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [paragui-users] patch file for fixes
From: |
Alexander Pipelka |
Subject: |
Re: [paragui-users] patch file for fixes |
Date: |
24 Jun 2003 09:57:30 +0200 |
Am Mon, 2003-06-23 um 17.51 schrieb Mark Junker:
> >> Fixes:
> >> 1. Event system (breaks binary compatibility)
> [..]
> > What about leaving the old versions of RegisterEventHandlerObj and
> > SetEventObject untouched (and mark them deprecated in the docs). The new
> > versions of these functions (with the new param list) shouldn't
> > interfere with the old ones.
> > What do you think ?
> I'm still not sure if my "solution" to the event system really works under
> any circumstances. It needs extensive testing.
>
> However, the replacement of SetEventObject should assure that the sources can
>
> compile against this version of ParaGUI without any changes. I'm not sure if
> it's a good idea to keep the old functions and mark them as deprecated. This
> still allows other users to use this function. When they switch to a new
> compiler or compiler version, it may cause exceptions in their application.
True. But there are some (commercial) apps out there that *need* binary
compatibility. I don't what to break these.
> The function PG_RegisterEventHandlerObj is - AFAIK - barely used directly. So
>
> there is probably no need to break the binary compatibility at this point.
> Instead its implementation can be changed to throw an exception if it is used
>
> and a new function - maybe called PG_RegisterEventHandlerObjEx or something
> like that - can be invented.
Right.
> As I previously wrote, it might be very useful to use libsigc++ instead of a
> self-built event handler (signal/slot) system because it's a solid-proven
> library.
Yes. But libsigc++ has some disadvantages (that's why i dont want to use
it for 1.0.x):
- there are major problems with the VC++ compiler
- it adds *another* dependency lib
- it would break all SWIG based bindings to script languages (callbacks)
libsigc++ will be used in future versions (1.2.x or 2.x).
Ok. To keep on track with my release schedule i would suggest the
following:
- I'll apply your patches except the event system stuff
- release 1.0.4 (probably this or next week)
- apply the new event system stuff for 1.0.5 (without breaking BC)
- test it
- create a new "devel-1-2" branch and cleanup the code (and breaking BC)
- discuss and implement new features for 1.2.x
Thers is already a working implementation using libsigc++. Maybe we can
merge this into the upcoming "devel-1-2" branch.
Alex