| Summary: | kpat has a problem with redo and undo. Does not refresh the situation or does refresh with large delay. | ||
|---|---|---|---|
| Product: | [Applications] kpat | Reporter: | stakanov |
| Component: | general | Assignee: | Stephan Kulow <coolo> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | kde-games-bugs-null, tomi.leppanen |
| Priority: | NOR | ||
| Version First Reported In: | 3.6 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
stakanov
2015-10-18 21:48:22 UTC
I can reproduce this. I think this is easiest to reproduce with Spider solitaire. Do some moves then undo some and redo them. Should be clearly visible. I can't take a screenshot since the problem disappears if I try to do that.
My system:
Fedora 25, KPatience 3.6. I tried also git master, seems to work the same.
I already figured out that adding just a tiny bit of duration to the animation (from 0 to 1) makes this work, but it won't look very nice when the card just quickly flashes. There is probably a way to tell it to update that part of the screen or the whole game, but I haven't yet figured that out. Or maybe the animation code needs to be fixed.
If someone wants to try the workaround I mentioned, here is a quick patch:
diff --git a/dealer.cpp b/dealer.cpp
index dfee5e4..eb263c8 100644
--- a/dealer.cpp
+++ b/dealer.cpp
@@ -1219,7 +1219,7 @@ void DealerScene::undoOrRedo( bool undo )
p->swapCards( i, index );
}
- updatePileLayout( p, 0 );
+ updatePileLayout( p, 1 );
}
emit updateMoves( moveCount() );
I didn't make a real patch since it I don't think this is proper way to fix this, but it might provide some ideas to fix this properly.
For what I know this bug does not occur any more. |