paragui-users
[Top][All Lists]
Advanced

[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






reply via email to

[Prev in Thread] Current Thread [Next in Thread]