Hello,

when zooming in/out with [Ctrl] + [Mouse Wheel], document WA's font is immediately updated, but if the Advanced F&R dialog is shown, its own WAs' font (find WA and replace WA) is not immediately updated, but delayed until the next editing action.

The attached patch fixes such behaviour, and performs the update immediately.

It implies changes in BufferList.{h,cpp} to trigger the internal buffers changed() methods, in addition to the one of the non-internal ones.

   T.

Index: src/BufferList.h
===================================================================
--- src/BufferList.h	(revisione 32788)
+++ src/BufferList.h	(copia locale)
@@ -46,6 +46,9 @@
 	iterator end();
 	const_iterator end() const;
 
+	const_iterator internal_begin() const;
+	const_iterator internal_end() const;
+
 	/// create a new buffer
 	/// \return 0 if the Buffer creation is not possible for whatever reason.
 	Buffer * newBuffer(std::string const & s, bool ronly = false);
Index: src/frontends/qt4/GuiApplication.cpp
===================================================================
--- src/frontends/qt4/GuiApplication.cpp	(revisione 32788)
+++ src/frontends/qt4/GuiApplication.cpp	(copia locale)
@@ -949,10 +949,14 @@
 		// Set current_view_ to zero to forbid GuiWorkArea::redraw()
 		// to skip the refresh.
 		current_view_ = 0;
-		BufferList::iterator it = theBufferList().begin();
-		BufferList::iterator const end = theBufferList().end();
+		BufferList::const_iterator it = theBufferList().begin();
+		BufferList::const_iterator end = theBufferList().end();
 		for (; it != end; ++it)
 			(*it)->changed();
+		it = theBufferList().internal_begin();
+		end = theBufferList().internal_end();
+		for (; it != end; ++it)
+			(*it)->changed();
 		// Restore current_view_
 		current_view_ = view;
 		break;
Index: src/BufferList.cpp
===================================================================
--- src/BufferList.cpp	(revisione 32788)
+++ src/BufferList.cpp	(copia locale)
@@ -90,6 +90,18 @@
 }
 
 
+BufferList::const_iterator BufferList::internal_begin() const
+{
+	return binternal.begin();
+}
+
+
+BufferList::const_iterator BufferList::internal_end() const
+{
+	return binternal.end();
+}
+
+
 void BufferList::release(Buffer * buf)
 {
 	LASSERT(buf, /**/);

Reply via email to