-
Notifications
You must be signed in to change notification settings - Fork 318
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
Scrolling sometimes breaks table formatting #230
Comments
I've tried a whole lot now and I still haven't been able to recreate this issue on my side. Maybe, could I suggest that we try to record all the input and commands to RmlUi? This way I can replay the commands on my end. Then I should be able to see whatever you're seeing. We should probably log all the calls to |
Sure, I'd be happy to record it if there was a patch to do so. Would be useful for debugging other issues as well. One detail that I missed: the scrolling has to be using the scrollbar, not the mouse wheel. |
When the pointer is inside the |
Thanks for testing from both of you! I still cannot do this on my end, maybe it has something to do with my 165Hz screen? I've tried it at lower refresh rates though. I made the logger I mentioned earlier, see the above commit (replay branch). Could you try to reproduce the bug on there and send me the log output? If you want, you can try to replay the commands from me trying to recreate the bug here: https://gist.github.com/mikke89/a927ed403e77e74f5e6354ffd1326c6c Please try not to resize the window or do anything crazy :) Thanks again! |
Didn't try your code yet because I can't build the samples using MinGW (CMake complains about missing OpenGL), but I've done some testing with my application and:
|
I made a small change so it now compiles on Linux, you can use it for logging but not replay. So, I was finally able to reproduce it! Whatever I did on the Windows backend it never worked, but using WSL made it happen. Looking at the log output, I see that a difference between the two backends is that the Linux shell can send multiple So now I have something to start with, thanks for helping me so far :) It's certainly some issue within RmlUi, and possibly/probably related to the multiple |
This was a tricky one ;) I think I have something that should work here. Could you test the latest commit (e639861) and see if you can reproduce the same or similar issues? |
With this fix I can't reproduce the issue. |
Wow, fast. Same here, can't produce the bug with this fix. |
…ffset after scrolling, see #230. Modify Element::DirtyOffset so that all descendents are dirtied. It is possible that a child is dirty while a grandchild is not, eg. if the grandchild is hovered over thereby calling Element::GetAbsoluteOffset to resolve the offset *and* the grandchild's offset_parent is its grandparent. Then previously the grandchild would never be dirtied even when its grandparent was dirtied, which again would result in the wrong offset during Element::GetAbsoluteOffset.
Great, I'll consider it fixed then! Thanks for reporting and both of you for testing :) I'll leave a patch here for the command logger and replay mode, in case it might prove useful in the future: |
This is what it looks like:
Reproducing:
I have a suspicion this is due to multiple ProcessMouseMove calls per Update call. I haven't seen it happen after I limited it to one ProcessMouseMove call per Update call. This is very much just a guess though, I haven't looked at what's actually happening in the code!
The text was updated successfully, but these errors were encountered: