diff --git a/implementations/Crafter.Graphics-Window.cpp b/implementations/Crafter.Graphics-Window.cpp index 9603065..e26022c 100644 --- a/implementations/Crafter.Graphics-Window.cpp +++ b/implementations/Crafter.Graphics-Window.cpp @@ -1640,6 +1640,10 @@ void Window::SetTitle(const std::string_view title) { Crafter::DomEnv::domSetTitle(title.data(), static_cast(title.size())); } +void Window::SetAppId(const std::string_view) {} + +void Window::SetTextInput(bool, std::int32_t, std::int32_t, std::int32_t, std::int32_t, TextInputPurpose) {} + void Window::Resize(std::uint32_t newWidth, std::uint32_t newHeight) { if (newWidth == 0 || newHeight == 0) return; if (newWidth == width && newHeight == height) return; diff --git a/interfaces/Crafter.Graphics-FontAtlas.cppm b/interfaces/Crafter.Graphics-FontAtlas.cppm index 732455d..f5f2ea1 100644 --- a/interfaces/Crafter.Graphics-FontAtlas.cppm +++ b/interfaces/Crafter.Graphics-FontAtlas.cppm @@ -100,11 +100,13 @@ export namespace Crafter { FontAtlas() = default; FontAtlas(const FontAtlas&) = delete; FontAtlas& operator=(const FontAtlas&) = delete; - // The image goes with the atlas. The owner waits for the GPU first - // and, in sets mode, destroys the heap holding the image's view before - // the atlas. + // The image goes with the atlas, once the GPU is done with it; in + // sets mode the owner destroys the heap holding the image's view + // before the atlas. ~FontAtlas() { - if (image.image != VK_NULL_HANDLE) image.Destroy(); + if (image.image == VK_NULL_HANDLE) return; + if (Device::queue != VK_NULL_HANDLE) vkQueueWaitIdle(Device::queue); + image.Destroy(); } #endif