1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00
serenity/Userland/Libraries
Andreas Kling 6bb53d6a80 LibGUI: Handle GUI::Window non-volatile backing store issues better
Instead of crashing when we can't make the back buffer non-volatile,
we now transition the window into single-buffered mode instead
(assuming it was originally in double-buffered mode.)

This reduces GUI fidelity a bit (by potentially making windows flicker
during repaint) but since it's only triggered in low-memory conditions,
it seems like a reasonable thing to sacrifice in order for the system
to carry on.

This patch also stops us from allocating entirely new backing stores
after the old ones were purged. If they were purged but reallocated
just fine, there's no need to allocate new memory again. We already
have fresh zero-filled pages in the existing bitmap at this point.
2021-07-25 14:39:28 +02:00
..
LibArchive LibArchive: Move method implementations away from header 2021-05-17 18:14:05 +01:00
LibAudio LibAudio: Implement loaded_samples() in the FLAC Loader 2021-07-22 22:57:05 +02:00
LibC LibC: Make calloc() actually fail on multiplication overflow 2021-07-22 09:17:02 +02:00
LibCards LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibChess LibChess: Compact the Defenitions of various chess related types 2021-06-22 23:09:42 +02:00
LibCompress LibCompress: Discard GZip NAME & COMMENT optional strings 2021-05-18 08:09:21 +02:00
LibCore LibCore: Add LockFile, a filesystem based mutex 2021-07-22 23:34:15 +02:00
LibCoreDump LibDebug: Implement symbolication for x86_64 2021-07-13 23:19:33 +02:00
LibCpp LibCpp: Don't store entire ASTNode vector in each parser state 2021-07-13 23:20:09 +02:00
LibCrypt Everywhere: Add a blank line after copyright header where missing 2021-05-15 00:27:09 +01:00
LibCrypto LibCrypto: Add operator<= and operator>= to SignedBigInteger 2021-07-19 09:11:20 +01:00
LibDebug LibELF+Utilities: Avoid truncating 64-bit values 2021-07-22 08:57:01 +02:00
LibDesktop LibDesktop: Add a RunInTerminal boolean field to app files 2021-07-20 00:58:26 +01:00
LibDiff AK+Everywhere: Consolidate String::index_of() and String::find() 2021-05-24 11:59:18 +02:00
LibDl Toolchain+Userland: Enable TLS for x86_64 2021-07-04 01:07:28 +02:00
LibELF LibELF+Utilities: Avoid truncating 64-bit values 2021-07-22 08:57:01 +02:00
LibFileSystemAccessClient LibFileSystemAccessClient: Use WindowServer window stealing interface 2021-07-18 17:21:28 +02:00
LibGemini AK: Implement String::find_any_of() and StringView::find_any_of() 2021-07-02 21:54:21 +02:00
LibGfx LibGfx: Make Gfx::Bitmap::set_nonvolatile() report allocation failure 2021-07-25 14:39:25 +02:00
LibGL LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibGUI LibGUI: Handle GUI::Window non-volatile backing store issues better 2021-07-25 14:39:28 +02:00
LibHTTP LibHTTP: Finish the request up on TLS connection finish 2021-06-30 01:23:25 +04:30
LibImageDecoderClient Userland: Remove dummy IPC methods 2021-06-24 00:38:58 +02:00
LibIMAP LibIMAP: Parse (but ignore) OK [HIGHESTMODSEQ <mod-sequence-value>] 2021-07-24 22:22:41 +01:00
LibIPC LibIPC: Fix losing messages when connection is closed 2021-07-21 01:13:45 +02:00
LibJS LibJS: Remove UTF-8 RegExpExec and AdvanceStringIndex overrides 2021-07-23 23:06:57 +01:00
LibKeyboard LibKeyboard: Remove an unnecessary #include when building with KERNEL 2021-06-30 11:30:28 +02:00
LibLine LibLine: Correct spelling mistake in variable name 2021-07-21 14:15:24 +02:00
LibM AK: Introduce Math.h 2021-07-19 16:34:21 +04:30
LibMarkdown LibMarkdown: Wrap non-inline code blocks in <pre> 2021-06-09 18:06:54 +01:00
LibPCIDB Everywhere: "file name" => "filename" 2021-04-29 22:16:18 +02:00
LibPDF Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
LibProtocol LibProtocol: Use URL class in RequestClient::start_request argument 2021-06-06 16:00:11 +02:00
LibPthread LibPthread+Kernel: Add pthread_kill() and the thread_kill syscall 2021-07-09 15:36:50 +02:00
LibRegex LibRegex: Make unclosed-at-eof brace quantifiers an error 2021-07-24 20:52:43 +04:30
LibSanitizer LibSantizer: Read $UBSAN_OPTIONS to set deadliness on first print 2021-06-29 07:17:34 +04:30
LibSQL LibSQL+SQLServer: Build SQLServer system service 2021-07-08 17:55:59 +04:30
LibSymbolication Userland: Use /proc/kernel_base to determine the kernel base address 2021-07-22 21:38:23 +02:00
LibSyntax LibWeb+LibSyntax: Implement nested syntax highlighters 2021-06-07 14:45:49 +04:30
LibSystem Kernel+LibSystem: Add a 4th syscall argument 2021-07-25 14:08:50 +02:00
LibTest Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
LibTextCodec LibTextCodec: Add Turkish (aka ISO-8859-9, Windows-1254) encoding 2021-06-23 16:32:47 +01:00
LibThreading Revert "LibThreading: Fix BackgroundAction result use-after-free" 2021-07-12 11:29:37 +02:00
LibTLS LibCrypto: Replace from_base{2,8,10,16}() & to_base10 with from_base(N) 2021-06-29 16:55:54 +01:00
LibTTF LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibUSBDB LibUSBDB: Fix vendor id decoding 2021-06-18 19:41:25 +04:30
LibVideo Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
LibVT LibGfx: Use "try_" prefix for static factory functions 2021-07-21 18:02:15 +02:00
LibWasm Everywhere: Prefer using {:#x} over 0x{:x} 2021-07-22 08:57:01 +02:00
LibWeb LibGfx: Make Gfx::Bitmap::set_nonvolatile() report allocation failure 2021-07-25 14:39:25 +02:00
LibWebSocket AK+Everywhere: Disallow constructing Functions from incompatible types 2021-06-06 00:27:30 +04:30
LibX86 LibX86: Add missing MovD and MovQ instructions 2021-07-22 23:33:21 +02:00
CMakeLists.txt FileSystemAccessServer+TextEditor: Implement cross-process modal prompts 2021-07-18 17:21:28 +02:00