aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--win32/SurfaceD2D.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/win32/SurfaceD2D.cxx b/win32/SurfaceD2D.cxx
index 0a3385a5b..492e34349 100644
--- a/win32/SurfaceD2D.cxx
+++ b/win32/SurfaceD2D.cxx
@@ -1008,10 +1008,11 @@ COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE BlobInline::GetBreakConditions(
}
class ScreenLineLayout : public IScreenLineLayout {
- TextLayout textLayout;
std::string text;
std::wstring buffer;
std::vector<BlobInline> blobs;
+ // textLayout depends on blobs so must be declared after blobs so it is destroyed before blobs.
+ TextLayout textLayout;
static void FillTextLayoutFormats(const IScreenLine *screenLine, IDWriteTextLayout *textLayout, std::vector<BlobInline> &blobs);
static std::wstring ReplaceRepresentation(std::string_view text);
static size_t GetPositionInLayout(std::string_view text, size_t position);