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, /**/);