The attached patch addresses this bug. The idea is to leave the TOC, and all other "buffer dependent" dialogs, open when closing one buffer, if there is still one open.

Abdel said he was OK with this patch if I could prove it didn't crash anything. I've tried to do so by opening every dialog I could (all dozen or so of them) and then opening and closing buffers.I haven't been able to cause a crash.

I'd like to commit this now, before RC2. If there's a problem with it, I think it'll show up pretty quickly.

Richard

--
==================================================================
Richard G Heck, Jr
Professor of Philosophy
Brown University
http://frege.brown.edu/heck/
==================================================================
Get my public key from http://sks.keyserver.penguin.de
Hash: 0x1DE91F1E66FFBDEC
Learn how to sign your email using Thunderbird and GnuPG at:
http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto


Index: src/frontends/LyXView.cpp
===================================================================
--- src/frontends/LyXView.cpp	(revision 18641)
+++ src/frontends/LyXView.cpp	(working copy)
@@ -20,8 +20,7 @@
 #include "Gui.h"
 
 #include "Buffer.h"
-//FIXME Bug 3701
-//#include "BufferList.h"
+#include "BufferList.h"
 #include "BufferParams.h"
 #include "BufferView.h"
 #include "bufferview_funcs.h"
@@ -131,8 +130,7 @@
 	if (work_area_->bufferView().buffer())
 		disconnectBuffer();
 
-	//FIXME Bug 3701
-	if (!b) // && theBufferList().empty()
+	if (!b && theBufferList().empty())
 		getDialogs().hideBufferDependent();
 
 	work_area_->bufferView().setBuffer(b);

Reply via email to