четверг, 2 февраля 2017 г.

Внутренние изменения в LibreOffice 5.3

Michael Meeks опубликовал в своем блоге интересный пост по поводу изменений в LibreOffice 5.3, не видных простому пользователю, но важных для развития проекта. Это так называемые изменения "под капотом" LibreOffice. Итак:
Переведена очередная порция комментариев в коде с немецкого на английский. Немецкие комментарии в коде проекта есть со времен его основания, поскольку писать его начинали именно немцы. Однако огромное количество людей знает английский и только некоторые кодеры умеют в немецкий, поэтому перевод комментариев в коде на английский - это крайне важная задача. С выпуском LibreOffice 5.3 осталось всего-то 3700 комментариев на немецком языке из более, чем 50000.
Полгода назад, в LibreOffice 5.2, был добавлен автоматический сбор отчетов о крэшах программы с отправкой их на сервер разработчиков проекта. Это позволило выявить и оперативно исправить несколько критичных ошибок в версии 5.3. Еще одним следствием работы этого механизма стало обнаружение проблемы с ограничением Windows на 10000 GDI-объектов на один процесс, что приводит к самым неожиданным ошибкам LibreOffice в самых разных местах. К выходу версии 5.3.1 обещают эту проблему исправить (или обойти как-то).
Было написано около 300 новых юнит-тестов.
Был написан фреймворк для тестирования интерфейса пользователя, к нему есть документация, призванная помочь добавлять новые тесты.
Произведены множественные изменения в LibreOfficeKit API и в коде, отвечающем за работу он-лайн части LibreOffice.
Добавлен код для отслеживания проблем с использованием OpenGL и OpenCL в реальном времени.
Добавлен механизм для автоматического снятия скриншотов со всех диалогов LibreOffice, также его можно использовать в ручном режиме. Механизм этот помимо создания скриншотов также позволяет обновлять файл Справки в автоматическом режиме, вставляя туда вновь созданные скриншоты. Сделано это для облегчения труда команды документации, поскольку LibreOffice достаточно часто обновляется, а документация и Справка как всегда отстают по версиям от проекта.
Старый API для многопоточной работы osl::Condition был заменен на новый std::condition_variable, который позволяет писать более безопасный код. Также это позволило решить проблему с распаковкой некоторых файлов XLSX.
Проведена большая работа по улучшению поддержки gtk+3/Wayland в LibreOffice.
Идёт работа по улучшению внутреннего механизма работы со столбцами в Calc. Раньше на каждый лист выделялся сразу фиксированный набор столбцов (структура значительного размера), в которой сразу были заготовки на все возможные столбцы. Это, например, не позволяет увеличить число столбцов. Теперь используется динамическая структура, в которой по мере надобности добавляются данные для новых нужных столбцов. Это первый необходимый шаг для большего числа столбцов, который также даёт оптимизацию в использовании памяти.
Обновлено большое количество встраиваемых в LibreOffice библиотек.
Исправлено более 80 ошибок, связанных с форматами DOC, DOCX и прочими.
Проведена чистка кода LibreOffice для Android.

5 комментариев:

  1. Скачал. Поставил. Посмотрел. Ну и мерзость перекошенная и корявая. Снес.

    PS. Виндовс версия.

    ОтветитьУдалить
    Ответы
    1. Это про версию 5.3 и его риббон или про LibreOffice в целом?

      Удалить
  2. В целом. Риббона вообще не нашел. Ставил именно на него посмотреть.

    ОтветитьУдалить
  3. Поставил в Линуксе - есть частично проблемы с настройками -
    http://www.picshare.ru/delete/7897238/5F8J71912k/
    И этот злополучний риббон. Его просто нет. Ставил и скачанный и из лаунчпада.

    ОтветитьУдалить
    Ответы
    1. про это есть бага соответствующая. это скоро исправят. пока решается просто растягиванием диалога по горизонтали.
      риббон...раз не нашли, то и ни к чему. он еще все равно не допилен до вменяемости

      Удалить