diff options
author | FalseHonesty <thefalsehonesty@gmail.com> | 2020-05-30 02:01:35 -0400 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-05-30 10:18:14 +0200 |
commit | 12fe546be98840a172733fa7d6bad332b2fb36ef (patch) | |
tree | 2a511d8bb9cafa2192949f3005c2c8f0ef157258 /Libraries/LibGUI/TreeView.cpp | |
parent | 77039e5354e154d7f5333a4cbb22d93e842642b0 (diff) | |
download | serenity-12fe546be98840a172733fa7d6bad332b2fb36ef.zip |
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.
Diffstat (limited to 'Libraries/LibGUI/TreeView.cpp')
-rw-r--r-- | Libraries/LibGUI/TreeView.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Libraries/LibGUI/TreeView.cpp b/Libraries/LibGUI/TreeView.cpp index 7c1d62df35..016037d6cb 100644 --- a/Libraries/LibGUI/TreeView.cpp +++ b/Libraries/LibGUI/TreeView.cpp @@ -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; |