Re: [gtk-list] gtk--: patch to signal.disconnect (prevents list corruption)




Done.  We are planning to switch to a new connection system some time
after 1.0 that will solve these types of problems.  The current
system has problems with double disconnects.  Also, if you trash a signal
by destroying its object and there was an incoming connection to that
signal, it will seg fault.  Further, working with a connection handle
is also dangerous, if the signal has been disconnected because of an
object destruction.  Basically, it needs a rework.

Although your patch fixed one of the symptoms.  It does not solve the problem
that the pointers you just zeroed had already been deleted!  (The connection
handle should have been zeroed as well when the object was destroyed.)
However, as there is no inherantance in the signal system, this is a very
hard problem to fix.  (The new system will use inherantance, thus there 
will be only one place the controls all of this behavior.)

See the following link for details on the new system.  
  http://www.ece.ucdavis.edu/~kenelson/private/libsigc++-0.4.tar.gz

--Karl




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]