1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:37:35 +00:00

LibGUI+HackStudio: Fix cursor appearance and crash while debugging

HackStudio uses a TreeView to display the list of current variables
while debugging, and when the program completes, it sets that view's
model to a null model. This would trip an assertion if the TreeView
had something selected at the time, so this patch lessens the
assertion into a simple null check.

Additionally, the cursor would look laggy when moving about the
editor because the code was waiting for a window repaint to update
the cursor's look when it makes more sense to update the cursor
when it actually moves. This change also requires the base
GUI::TextEditor to expose a getter to tell if its currently in a drag
selection.

Finally, requesting a context menu in the line ruler on the side of
the editor would also place/remove breakpoints, which was counter
intuitive, so this requires a left click to modify breakpoint placement.
This commit is contained in:
FalseHonesty 2020-05-30 02:01:35 -04:00 committed by Andreas Kling
parent 77039e5354
commit 12fe546be9
4 changed files with 12 additions and 11 deletions

View file

@ -129,6 +129,8 @@ public:
const SyntaxHighlighter* syntax_highlighter() const;
void set_syntax_highlighter(OwnPtr<SyntaxHighlighter>);
bool is_in_drag_select() const { return m_in_drag_select; }
protected:
explicit TextEditor(Type = Type::MultiLine);