mirror of
https://github.com/termux/termux-packages.git
synced 2025-05-31 12:52:11 +00:00
- Fixes #24070 - makes the `mozconfig.cfg`, `build.sh` and patches of `thunderbird` very similar to `firefox`, except for places where `thunderbird` is different - `disable-systray-x86_64.patch`: fixes the build of `thunderbird` 136.0.1 for x86_64 Termux specifically. has been tested at runtime on a bare metal 64-bit Android-x86 device, and behaves as expected (uniform behavior with other architectures of Termux `thunderbird` 136.0.1) - `toolbar-based-custom-compose-window-width-for-ralfwerner.patch`: hardcoded custom dimensions of the edit window formatting toolbar to provide a workaround for edit window minimum text wrapping width high-dpi-scaling low-resolution situations in HTML mode while preserving the formatting toolbar functionality - `icu-22132.patch`: fixes a bug in `libicu` that has been happening for a long time, which causes these features of `thunderbird` to begin functioning: - Search Bar - Address Book - Customize Toolbars - Calendar - Tasks - Chat - Settings Button - Hamburger Button
66 lines
1.7 KiB
Diff
66 lines
1.7 KiB
Diff
https://github.com/termux/termux-packages/issues/22907
|
|
|
|
--- a/layout/generic/IntrinsicISizesCache.h
|
|
+++ b/layout/generic/IntrinsicISizesCache.h
|
|
@@ -131,25 +131,14 @@
|
|
};
|
|
|
|
// If the high bit of mOutOfLine is 1, then it points to an OutOfLineCache.
|
|
+ bool mIsOutOfLine = false;
|
|
union {
|
|
InlineCache mInline;
|
|
- struct {
|
|
-#ifndef HAVE_64BIT_BUILD
|
|
- uintptr_t mPadding = 0;
|
|
-#endif
|
|
- uintptr_t mOutOfLine = 0;
|
|
- };
|
|
+ uintptr_t mOutOfLine = 0;
|
|
};
|
|
|
|
- static constexpr uintptr_t kHighBit = uintptr_t(1)
|
|
- << (sizeof(void*) * CHAR_BIT - 1);
|
|
-
|
|
bool IsOutOfLine() const {
|
|
-#ifdef HAVE_64BIT_BUILD
|
|
- return mOutOfLine & kHighBit;
|
|
-#else
|
|
- return mPadding & kHighBit;
|
|
-#endif
|
|
+ return mIsOutOfLine;
|
|
}
|
|
bool IsInline() const { return !IsOutOfLine(); }
|
|
OutOfLineCache* EnsureOutOfLine() {
|
|
@@ -159,13 +148,8 @@
|
|
auto inlineCache = mInline;
|
|
auto* ool = new OutOfLineCache();
|
|
ool->mCacheWithoutPercentageBasis = inlineCache;
|
|
-#ifdef HAVE_64BIT_BUILD
|
|
- MOZ_ASSERT((reinterpret_cast<uintptr_t>(ool) & kHighBit) == 0);
|
|
- mOutOfLine = reinterpret_cast<uintptr_t>(ool) | kHighBit;
|
|
-#else
|
|
mOutOfLine = reinterpret_cast<uintptr_t>(ool);
|
|
- mPadding = kHighBit;
|
|
-#endif
|
|
+ mIsOutOfLine = true;
|
|
MOZ_ASSERT(IsOutOfLine());
|
|
return ool;
|
|
}
|
|
@@ -174,16 +158,10 @@
|
|
if (!IsOutOfLine()) {
|
|
return nullptr;
|
|
}
|
|
-#ifdef HAVE_64BIT_BUILD
|
|
- return reinterpret_cast<OutOfLineCache*>(mOutOfLine & ~kHighBit);
|
|
-#else
|
|
return reinterpret_cast<OutOfLineCache*>(mOutOfLine);
|
|
-#endif
|
|
}
|
|
};
|
|
|
|
-static_assert(sizeof(IntrinsicISizesCache) == 8, "Unexpected cache size");
|
|
-
|
|
} // namespace mozilla
|
|
|
|
#endif
|