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

Fixes for breakpoints #1923

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Fixes for breakpoints #1923

wants to merge 3 commits into from

Commits on Oct 1, 2024

  1. Fixes for breakpoints

    WARNING: this PR won't compile unless PR WerWolv#132 from pattern language repository is merged first. Some changes here are shared by at least another PR to this repository but there should not be any conflicts as the shared changes are identical.
    
    fix: Editing patterns with breakpoints sets behaves unexpectedly. As a simple example, set a breakpoint and insert a blank line somewhere before the breakpoint location. The breakpoint will appear to move but in reality it hasn't. To see this set another breakpoint elsewhere in the file and the old one will be displayed where it is really located at.
    
    The reason for this and many other problems with breakpoints is that currently ImHex keeps two set of breakpoints in text editor and in evaluator that are independent of each other, ie, changes to one don't affect the other. This PR aims at synchronizing the two sets through the per provider breakpoints that exist in view pattern editor.
    
    It accomplishes this by making the text editor version of breakpoints the principal source of vectors and the ones in evaluator the effective version. The first allows one to modify the text around and at the breakpoint and notify others that the changes have induced changes in the breakpoint locations. The effective breakpoints allow the insertion and deletion of breakpoints.
    
    View pattern editor is where breakpoints are updated. It receives notifications from text editor about changes and then makes sure the version in evaluator is updated with those changes. View pattern editor also manages breakpoint addition and deletion so before making changes it gets a copy of the current ones from text editor, sets the ones in evaluator, uses the evaluator functions to add or delete breakpoints and finally sets the text editor version with the new version.
    paxcut committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    77f4f46 View commit details
    Browse the repository at this point in the history
  2. missed one commit ir seems.

    paxcut committed Oct 1, 2024
    Configuration menu
    Copy the full SHA
    db753a6 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Configuration menu
    Copy the full SHA
    80f5975 View commit details
    Browse the repository at this point in the history