Files
RedBear-OS/local
vasilito d1e8202958
redbear-ci / check (push) Has been cancelled
fix: kwin's remaining GCC 16 / vulkan-hpp and X11-gating fallout
Continues the previous kwin commit; all found by compiling further.

vulkan-hpp (VULKAN_HPP_RAII_NO_EXCEPTIONS, now active because GCC 16's
libstdc++ provides __cpp_lib_expected at C++23):

  - vulkan_device.cpp getQueue() returns CreateReturnType<Queue>, an
    expected, not a Queue -- unwrapped via splitResult().
  - CommandBuffer::begin/end, bindImageMemory2, importSemaphoreFdKHR and
    Queue::submit return void, not vk::Result. They route their Result
    through detail::resultCheck -> VULKAN_HPP_ASSERT_ON_RESULT, which this
    build defines to `void`, so the status is discarded by configuration.
    Assigning them to vk::Result no longer compiles. Noted at each site;
    the eErrorDeviceLost branch after Queue::submit is now unreachable.
  - mapMemory() returns void* and needed wrapping.
  - QueryPool::getResults already returns a decomposable std::pair, so
    splitResult() had double-wrapped it; unwrapped.

X11 gating -- KWIN_BUILD_X11=OFF is set correctly by the recipe, but
several includes sit outside the guard their own uses are inside:

  - workspace.cpp included syncalarmx11filter.h unguarded (both uses and
    the workspace.h member are guarded).
  - shadow.h declared readX11ShadowProperty(xcb_window_t) unguarded while
    shadow.cpp guards the definition.
  - effecthandler.h declared unique_ptr<WindowPropertyNotifyX11Filter>
    unguarded; with X11 off the type is only forward-declared and
    ~unique_ptr needs it complete.

Missing includes, same shape as earlier findings -- the declaration exists,
it just never reaches the compiler:

  - tabletmodemanager.cpp and backends/libinput/device.cpp call udev_device_*
    without including <libudev.h>, which upstream gets transitively through
    libinput.h. Ours does not pull it in.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 22:06:09 +03:00
..