1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 13:55:06 +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

@ -377,7 +377,8 @@ void TreeView::did_update_model(unsigned flags)
void TreeView::did_update_selection()
{
AbstractView::did_update_selection();
ASSERT(model());
if (!model())
return;
auto index = selection().first();
if (!index.is_valid())
return;