Angus Leeming wrote:
> If memory serves me right, all insets should emit a signal from their
> destructor:
Indeed. Thanks!
>> A proof-of-concept fix is attached. It works only for "normal" delete
>> (the inset must not be selected, and the deletion must not cause a
>> paragraph merge. BTW, Dialogs::hideSlot() is currently not used.
>
> Urgggg. When did that happen?
13 months ago:
http://www.lyx.org/cgi-bin/viewcvs.cgi/lyx-devel/src/frontends/Dialogs.C.diff?r1=1.31&r2=1.32
The thing to blame here is gcc: It should have noticed that hideSlot() was
unused.
>> Does anybody have an idea what to do now?
>
> Connect the signal to the slot.
Done. If only every crash fix was so simple!
Georg
Index: src/frontends/ChangeLog
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/ChangeLog,v
retrieving revision 1.279
diff -u -p -r1.279 ChangeLog
--- src/frontends/ChangeLog 11 May 2005 07:44:19 -0000 1.279
+++ src/frontends/ChangeLog 17 May 2005 15:20:38 -0000
@@ -1,3 +1,7 @@
+2005-04-17 Georg Baum <[EMAIL PROTECTED]>
+
+ * Dialogs.C (Dialogs): (re-)connect hide() and hideSlot()
+
2005-05-11 Martin Vermeer <[EMAIL PROTECTED]>
* screen.[hC]: fix processEvents -caused screen update recursion
Index: src/frontends/Dialogs.C
===================================================================
RCS file: /usr/local/lyx/cvsroot/lyx-devel/src/frontends/Dialogs.C,v
retrieving revision 1.37
diff -u -p -r1.37 Dialogs.C
--- src/frontends/Dialogs.C 26 Apr 2005 11:12:17 -0000 1.37
+++ src/frontends/Dialogs.C 17 May 2005 15:20:38 -0000
@@ -69,6 +70,7 @@ Dialogs::Dialogs(LyXView & lyxview)
{
// Connect signals
redrawGUI().connect(boost::bind(&Dialogs::redraw, this));
+ hideSignal().connect(boost::bind(&Dialogs::hideSlot, this, _1, _2));
}