Skip to content

Regression: sdl3 text input in viewport window #8648

@m9710797

Description

@m9710797

Version/Branch of Dear ImGui:

Version 1.92.0 WIP, Branch: docking

Back-ends:

imgui_impl_sdl3.cpp + imgui_impl_opengl3.cpp

Compiler, OS:

Linux + gcc

Full config/build information:

Dear ImGui 1.92.0 WIP (19193)
--------------------------------
sizeof(size_t): 8, sizeof(ImDrawIdx): 2, sizeof(ImDrawVert): 20
define: __cplusplus=201103
define: __linux__
define: __GNUC__=14
define: IMGUI_HAS_VIEWPORT
define: IMGUI_HAS_DOCK
--------------------------------
io.BackendPlatformName: imgui_impl_sdl3
io.BackendRendererName: imgui_impl_opengl3
io.ConfigFlags: 0x00000483
 NavEnableKeyboard
 NavEnableGamepad
 DockingEnable
 ViewportsEnable
io.ConfigViewportsNoDecoration
io.ConfigNavCaptureKeyboard
io.ConfigInputTextCursorBlink
io.ConfigWindowsResizeFromEdges
io.ConfigMemoryCompactTimer = 60.0
io.BackendFlags: 0x0000140E
 HasMouseCursors
 HasSetMousePos
 PlatformHasViewports
 RendererHasVtxOffset
 RendererHasViewports
--------------------------------
io.Fonts: 1 fonts, Flags: 0x00000000, TexSize: 512,64
io.DisplaySize: 1280.00,720.00
io.DisplayFramebufferScale: 1.00,1.00
--------------------------------
style.WindowPadding: 8.00,8.00
style.WindowBorderSize: 1.00
style.FramePadding: 4.00,3.00
style.FrameRounding: 0.00
style.FrameBorderSize: 0.00
style.ItemSpacing: 8.00,4.00
style.ItemInnerSpacing: 4.00,4.00

Details:

To reproduce:

  • Build and start the example application: examples/example_sdl3_opengl3.
  • Click "menu bar > Examples > Console".
  • In the window "Example: Console", in the "Input" text input field, type some text, that works.
  • Move this window outside the main window (create a viewport). Now typing text does not work anymore.
  • Note: only actual text input is broken, keys like "enter" and "cursor-up" do work as expected.

I did a bisect on the docking branch:

  • Git revision 88d2df2 (Apr 16) still works.
  • Git revision 839e327 (Apr 23) is broken.

Both these git revisions are merge commits, the latter merges 9 commits from the master branch. I tried merging intermediate commits from the master branch into docking.

So it seems the combination of bf0f586 and viewports is broken. (Or maybe there was a mistake in the resolution of the merge conflict?)

commit bf0f586b69ec9f082164c8fe39068952beadf304
Author: ocornut <[email protected]>
Date:   Tue Apr 22 11:21:02 2025 +0200

    Platform IME: added ImGuiPlatformImeData::WantTextInput, ViewportId. Backends: SDL3: honor WantTextInput. (#8584, #7492, #6341)

I don't fully understand what this commit is doing, but the part about "WantTextInput" is at least consistent with the symptom.

Screenshots/Video:

No response

Minimal, Complete and Verifiable Example code:

The default example application.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions