summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/vcl/outdev.hxx3
-rw-r--r--include/vcl/svapp.hxx11
2 files changed, 14 insertions, 0 deletions
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 1d4a936e22a6..3fa9d2167d27 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -1263,6 +1263,9 @@ public:
//If bNewFontLists is true then drop and refetch lists of system fonts
SAL_DLLPRIVATE static void ImplUpdateAllFontData( bool bNewFontLists );
+ // Lock font updates for all output devices
+ static void LockFontUpdates(bool bLock);
+
protected:
SAL_DLLPRIVATE const LogicalFontInstance* GetFontInstance() const;
SAL_DLLPRIVATE long GetEmphasisAscent() const { return mnEmphasisAscent; }
diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index ac1c0ddfb848..712f75a0f09d 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -1365,6 +1365,17 @@ public:
///@}
+ /** Lock font updates for all output devices
+
+ @remark When performing operations that might involve multiple registration of fonts, such as
+ opening/closing documents with multiple embedded fonts, then each font addition/removal
+ might cause an event that initiates a rebuild of each OutputDevice's font lists.
+
+ Locking font updates disables processing such events, and unlocking causes a single such
+ processing for all OutputDevices.
+ */
+ static void LockFontUpdates(bool bLock);
+
// For vclbootstrapprotector:
static void setDeInitHook(Link<LinkParamNone*,void> const & hook);