Comments (8)
@mi-ki I think this is the issue you mentioned to me yesterday, right?
from key.
@unp1 The commit that introduced this problem is 3ab8750. It seems that you tried to do some refactoring here ...
from key.
Will look into it (but first next week)
from key.
See PR #3368.
The root cause was not the commit itself, but it unearthed an inconsistency between two places where node selections are stored.
from key.
We might think about removing the additional selection storage from the model and instead have a wrapper record like
ProofTreeViewState(GUIProofTreeModel model, TreePath selectionPath, Filter[] activeFilters)
and then storing this record in the hashmap when switching proofs.
This change would avoid accidental usage of the selection stored in the model and it would allow us to have proof local filter settings. But that would change current behavior and we would need to be fine with it. The current PR just restores previous behavior.
from key.
See PR #3369 for an implementation of the suggestion. It builds on top of PR #3368
from key.
@mi-ki I think this is the issue you mentioned to me yesterday, right?
@WolframPfeifer Yes, you are right, thanks for looking into it!
from key.
Brief report on status of PR #3368 and #3369.
Both PRs contain the same refactorings as well as the (unrelated) bugfixes
- for updating the sequentview when pretty printing options are modified
- for a NullPointerException that occurred when closing the Proof Obligation Browser via Cancel when no proof (at all) was loaded in the GUI.
- reduce updates of sequent view when changing view settings: changing a view setting propagated a PropertyChangeEvent causing unrelated properties to trigger their own redraw update just in case
#3369 changes proof tree filters to proof local filters and #3368 does not
Both are finished from my side (of course, feedback from code reviews will be incorporated). The semantics to be used is up for discussion, but as @WolframPfeifer prefers and has actual use cases for #3368, we might want to stay with that semantics and not too optimize for some imaginery unknown user :-)
from key.
Related Issues (20)
- Support for JML `TYPE` HOT 4
- Generic sort in problem definition leads to broken sequent
- Do not update proof tree if not visible
- Inifite NullPointerExceptions when proving accessible clause HOT 2
- Improved Taclet Options
- Make the proof tree (or the KeY GUI in general) responsive during automatic proof search
- KeY crashes after initial launch terminates unconventionally HOT 3
- Simple Java program with array creation cannot be sliced
- Poor error message for simple syntax error
- Broken link in README.md HOT 1
- Metadata in KeY proof files
- no_state modifier no longer supported
- SMT Translation naming conflicts HOT 2
- Control-C may leave a defunct process HOT 3
- JML ghost declarations should behave like set statements
- Ask before closing a proof whose branches are "used" in other proofs HOT 1
- LemmaGenerator
- KeY proofs cannot be replayed if certain labels are present HOT 5
- Follow-up tasks for overflow checking fix (#3353) HOT 1
- TestTacletEquality ignores semantic switches HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from key.