Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skia.Gtk Textbox issue: caret position resets while typing and flickering on hovering #6289

Closed
5 of 24 tasks
NBRizzoli opened this issue Jun 17, 2021 · 3 comments · Fixed by #10935 or #11231
Closed
5 of 24 tasks
Assignees
Labels
area/skia ✏️ Categorizes an issue or PR as relevant to Skia difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working project/input ⌨️ Categorizes an issue or PR as relevant to input (Button, CheckBox, Toggle, Scroll, Map, Numeric,...)

Comments

@NBRizzoli
Copy link

NBRizzoli commented Jun 17, 2021

Current behavior

While typing in a textbox the caret position randomly resets to the start of the text.
(Only in linux) Hovering on the textbox with the mouse also causes the height of the textbox to flicker; the flickering cotinue while writing.
While the flickering occours the caret doesn't reset, probabily the 2 issues are related.

Expected behavior

Caret doesn't reset.
No flickering while hovering.

How to reproduce it (as minimally and precisely as possible)

Create a new project, add a textbox.

On Windows:

  • Start the Skia.Gtk project and try typing on the textbox

On Windows with WSL2 or Linux

  • Start the Skia.Gtk, hover with the mouse on the textbox, type on the textbox.

Workaround

No workaround found.

Environment

Nuget Package:

  • Uno.UI / Uno.UI.WebAssembly / Uno.UI.Skia
  • Uno.WinUI / Uno.WinUI.WebAssembly / Uno.WinUI.Skia
  • Uno.SourceGenerationTasks
  • Uno.UI.RemoteControl / Uno.WinUI.RemoteControl
  • Other:

Nuget Package Version(s):

Affected platform(s):

  • iOS
  • Android
  • WebAssembly
  • WebAssembly renderers for Xamarin.Forms
  • macOS
  • Skia
    • WPF
    • GTK (Linux)
    • Tizen
  • Windows
  • Build tasks
  • Solution Templates

IDE:

  • Visual Studio 2017 (version: )
  • Visual Studio 2019 (version: )
  • Visual Studio for Mac (version: )
  • Rider Windows (version: )
  • Rider macOS (version: )
  • Visual Studio Code (version: )

Relevant plugins:

  • Resharper (version: )

Anything else we need to know?

@NBRizzoli NBRizzoli added difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working triage/untriaged Indicates an issue requires triaging or verification labels Jun 17, 2021
@MartinZikmund MartinZikmund self-assigned this Jun 17, 2021
@jeromelaban jeromelaban added area/skia ✏️ Categorizes an issue or PR as relevant to Skia project/input ⌨️ Categorizes an issue or PR as relevant to input (Button, CheckBox, Toggle, Scroll, Map, Numeric,...) and removed triage/untriaged Indicates an issue requires triaging or verification labels Jun 17, 2021
@MartinZikmund MartinZikmund removed their assignment Jan 6, 2022
@jeromelaban
Copy link
Member

@MartinZikmund do you know this issue still happens?

@Youssef1313
Copy link
Member

Caret resets for me, but it happens when I type toooooooooooo fast.

@MartinZikmund MartinZikmund self-assigned this Jan 31, 2023
@MartinZikmund
Copy link
Member

Yes, this is the issue that still remains in the refactored code. I will resolve it in #10935

MartinZikmund added a commit that referenced this issue Feb 7, 2023
Fixes #6289 by removing text native TextBoxView text changes after TextChanged event is raised. This is problematic as it could cause race conditions in case the native view text changes but didn't have yet time to notify the managed code (this occurs for example on GTK).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/skia ✏️ Categorizes an issue or PR as relevant to Skia difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working project/input ⌨️ Categorizes an issue or PR as relevant to input (Button, CheckBox, Toggle, Scroll, Map, Numeric,...)
Projects
None yet
4 participants