UltravioletFramework / ultraviolet

The Ultraviolet Framework is a .NET game development framework written in C#.
https://github.com/UltravioletFramework/ultraviolet/wiki
MIT License
542 stars 46 forks source link

UPF Scrollbar flickers between two points in a texbox when scrolling. #130

Closed fireball87 closed 4 years ago

fireball87 commented 4 years ago

Using the same code as https://github.com/tlgkccampbell/ultraviolet/issues/129 meaning no scrollbar specific code at all and a very simple textbox when I scroll by clicking on the bar the scroll will often flicker between two points far above and far below where I've selected.

For my system info, Manjaro Linux running KDE Dotnet Core 3.1

A video showing the issue. https://youtu.be/1ur1A9AO4oo

tlgkccampbell commented 4 years ago

@fireball87 I'm having trouble tracking this one down; I can't seem to reproduce it locally. If you can send me an example program which reproduces the issue, that would help a lot.

fireball87 commented 4 years ago

Replacing the screen xml in sample twelve with the following reproduces the issue for me (basically any textbox with a scrollbar does it, and honestly my gut is it's probably every scrollbar, give me a second to test that). It's likely Linux or even configuration specific, which if it is that makes it far lower priority for me at least.

<?xml version="1.0" encoding="utf-8" ?>
<UIPanelDefinition>
  <View ViewModelType="sample12_upf.UI.Screens.ExampleViewModel, sample12_upf">

    <Image Source="#Global:Textures:DefaultUIBackground 0 0 1161 685" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>

    <TextBox Name="textbox" Grid.Row="0" Grid.Column="0" VerticalScrollBarVisibility="Visible" IsReadOnly="True">
        a
        b
        c
        d
        e
        f
        g
        h
        i
        j
        k
        l
        m
        n
        o
        p
        q
        r
        s
        t
        u
        v
        w
        x
        y
        z
        a
        b
        c
        d
        e
        f
        g
        h
        i
        j
        k
        l
        m
        n
        o
        p
        q
        r
        s
        t
        u
        v
        w
        x
        y
        z
        a
        b
        c
        d
        e
        f
        g
        h
        i
        j
        k
        l
        m
        n
        o
        p
        q
        r
        s
        t
        u
        v
        w
        x
        y
        z
        a
        b
        c
        d
        e
        f
        g
        h
        i
        </TextBox>
  </View>
</UIPanelDefinition>
fireball87 commented 4 years ago

For note, replacing that text box with the following produces exactly the same behavior, so it's almost certainly every UV scrollbar on my system.

        <ListBox>
                        <ListBoxItem>ListBox Item #1</ListBoxItem>
            <ListBoxItem>ListBox Item #2</ListBoxItem>
            <ListBoxItem>ListBox Item #3</ListBoxItem>
                        {...100 more rows of this}
        </ListBox>
tlgkccampbell commented 4 years ago

As expected, this still does not reproduce locally for me. I'll set up a Linux VM and see if I can track it down.

tlgkccampbell commented 4 years ago

I believe I've identified the problem, and it should be fixed by 820856dcd10987afd80c3285b0186c8f7f8c8b91, which will be in the next release.