
Команда Collabora виправила баг в Impress у складі Collabora Online: іноді фонове зображення майстерслайда зникало після збереження та повторного відкриття файлу. За даними компанії, це проявлялося нібито випадково — коли документ був відкритий достатньо довго, щоб система вивантажила зображення з пам’яті.
У чому була проблема
Під час перемикання слайдів Collabora Online заздалегідь завантажує зображення наступного слайда в кількох потоках, і фонове зображення майстерслайда входить до цього пакета. Декодована картинка передавалася графічному об’єкту, який очищував збережений розмір і очікував, що пізніше її знову «поміряють».
На цьому шляху повторне вимірювання не виконувалося, тож графіка «думала», що її розмір — 0 байт. Під час чергового прибирання пам’яті таке «нульове» зображення вивантажувалося, а при збереженні експортер бачив фон 0 байт, трактував його як порожнє заповнення і не включав у файл. У результаті після відкриття презентації фон повертався до стандартного суцільного кольору.
Як це полагодили
Виправлення — однорядкове: графічний об’єкт одразу вимірює вміст після завантаження, доки дані ще в пам’яті. Завдяки цьому правильний розмір зберігається незалежно від того, яким шляхом було завантажено зображення, і фон-зображення майстерслайда більше не губиться при збереженні.
Додатковий бонус — менеджер пам’яті тепер рахує реальний розмір таких зображень, що покращує облік ресурсів. Також додано новий модульний тест, який покриває роботу багатопотокового завантажувача.
Що це дає користувачам
- Надійніші презентації: фонові зображення на майстерслайдах зберігаються коректно.
- Передбачувана робота за довгих сесій редагування, коли система активно керує пам’яттю.
- Краща стабільність, оскільки виправлення підкріплене автоматичним тестом.
Collabora не називає версії чи дати розгортання у пресрелізі, але підкреслює, що проблема усунута на рівні ядра обробки графіки в Collabora Online.



