summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/TreeView.cpp
diff options
context:
space:
mode:
authorFalseHonesty <thefalsehonesty@gmail.com>2020-05-30 02:01:35 -0400
committerAndreas Kling <kling@serenityos.org>2020-05-30 10:18:14 +0200
commit12fe546be98840a172733fa7d6bad332b2fb36ef (patch)
tree2a511d8bb9cafa2192949f3005c2c8f0ef157258 /Libraries/LibGUI/TreeView.cpp
parent77039e5354e154d7f5333a4cbb22d93e842642b0 (diff)
downloadserenity-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.cpp3
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;