# UZYTAK Office — изменённые файлы движка (для публикации по MPL 2.0)

Движок: LibreOffice core, тег `libreoffice-26.8.1.1` (git.libreoffice.org/core, клон `--depth 1` в `I:\lo\core`).
MPL 2.0 требует опубликовать исходники ВСЕГО поставляемого ядра (а не только изменённых файлов) — см.
`I:\Claude\office-study\02_ПРАВО_И_ЛИЦЕНЗИИ.md`, раздел 1. Пакет для публикации: `..\mpl-source\` (собирается локально,
НЕ публикуется без решения Алекса; адрес публикации — одна константа `engineSourceUrl` в `app\lib\product.dart`).

## 1. Изменения, которые попадают в программу (бинарники)

| Файл | Что изменено | Зачем | Патч |
|---|---|---|---|
| `vcl/inc/win/salvd.h` | +4 строки: `WinSalVirtualDevice::SetSizeUsingBuffer()` вызывает `SetSize()` | На Windows LibreOfficeKit рисовал таблицы (Calc) в холст 1×1 пиксель → чёрные плитки | `app\third_party\lok\patches\0001-win-lok-tile-device-size.patch` |

Применено 14.10.2026 (`git apply`), пересобран модуль `vcl` (`lo-make.sh vcl`). Заголовок MPL (Exhibit A) в файле сохранён.
Патч можно отправить в LibreOffice (тогда в следующих версиях он будет у всех).

## 2. Изменения только для сборки на этом компьютере (в программу не попадают)

| Файл | Что | Зачем |
|---|---|---|
| `configure.ac` | функция `lo_map_nospace_aliases` + 2 вызова | у ПК выключены короткие имена 8.3; пути VS/Windows Kits подменяются ссылками `I:\lo\winlinks\*` |
| `antivirusDetection.vbs` | убран из дерева (лежит в `I:\lo\patches-aside`) | проверка configure требовала исключение в Защитнике; исключение не ставим (решение Алекса) |

`git status` показывает ещё «M» у множества скриптов/картинок — это только биты прав/концы строк Windows-клона
(`core.filemode`), содержимое не менялось (проверено: `git -c core.filemode=false status`).

## 3. Параметры сборки
`I:\CASH-APPS\22-UZYTAK-OFFICE\autogen.input.after-uac` (в т.ч. `--enable-mpl-subset`).

## 4. Наш MPL-код рядом с движком
- `app\third_party\lok\LibreOfficeKit\*.h*` — заголовки LibreOfficeKit без изменений (MPL 2.0).
- `app\native\lok_bridge\uzytak_lok.cpp` — наш мост; подключает эти заголовки (`#include`), не копирует код.
  Публикуем вместе с исходниками ядра (безопаснее, см. исследование 02, п. 1.3).
