From 2a60fc7b804c298a9b28fd7e84faca0505f9249b Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Mon, 23 May 2016 19:43:19 -0400 Subject: [PATCH] fixed current_scroll crash bugs --- 4ed.cpp | 1 - 4ed_file_view.cpp | 18 ++++++++++-------- TODO.txt | 5 +++-- build_all.bat | 4 ++-- buildsuper.bat | 3 ++- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/4ed.cpp b/4ed.cpp index 55f81998..9e89641e 100644 --- a/4ed.cpp +++ b/4ed.cpp @@ -1175,7 +1175,6 @@ COMMAND_DECL(auto_tab_range){ } COMMAND_DECL(open_panel_vsplit){ - USE_VARS(vars); USE_MODELS(models); USE_PANEL(panel); diff --git a/4ed_file_view.cpp b/4ed_file_view.cpp index 154bce7a..12165fe6 100644 --- a/4ed_file_view.cpp +++ b/4ed_file_view.cpp @@ -3646,12 +3646,7 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su view->current_scroll = &view->recent->scroll; gui_get_scroll_vars(target, scroll_context, &view->recent->scroll, &view->scroll_region); -#if 0 - if (gui_get_scroll_vars(target, scroll_context, - &view->recent->scroll, &view->scroll_region)){ - view_move_cursor_to_view(view); - } -#endif + gui_begin_scrollable(target, scroll_context, view->recent->scroll, delta, show_scrollbar); gui_do_file(target); @@ -3666,6 +3661,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su switch (view->showing_ui){ case VUI_Menu: { + view->current_scroll = &view->gui_scroll; + String message = make_lit_string("Menu"); String empty_string = {0}; GUI_id id = {0}; @@ -3688,6 +3685,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su case VUI_Config: { + view->current_scroll = &view->gui_scroll; + String message = make_lit_string("Config"); String empty_string = {0}; GUI_id id = {0}; @@ -3704,6 +3703,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su case VUI_Theme: { + view->current_scroll = &view->gui_scroll; + if (view != active_view){ view->hot_file_view = active_view; } @@ -3891,6 +3892,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su case VUI_Interactive: { + view->current_scroll = &view->gui_scroll; + GUI_id id = {0}; id.id[1] = VUI_Interactive + ((u64)view->interaction << 32); @@ -3943,7 +3946,6 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su gui_do_text_field(target, message, hdir->string); - view->current_scroll = &view->gui_scroll; scroll_context.id[0] = (u64)(hdir); if (gui_get_scroll_vars(target, scroll_context, &view->gui_scroll, &view->scroll_region)){ @@ -4029,7 +4031,6 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su gui_do_text_field(target, message, view->dest); - view->current_scroll = &view->gui_scroll; scroll_context.id[0] = (u64)(working_set); if (gui_get_scroll_vars(target, scroll_context, &view->gui_scroll, &view->scroll_region)){ @@ -5450,6 +5451,7 @@ live_set_alloc_view(Live_Views *live_set, Panel *panel, Models *models){ result.view->models = models; result.view->scrub_max = 1; + result.view->current_scroll = &result.view->recent->scroll; init_query_set(&result.view->query_set); diff --git a/TODO.txt b/TODO.txt index 318ad877..8a8d85a7 100644 --- a/TODO.txt +++ b/TODO.txt @@ -66,8 +66,8 @@ ; [X] open empty file bug ; [X] chronal's map setting issue ; [X] linux save jankieness -; [] indication on failure to save ; [X] bouncing when scrolling down +; [] indication on failure to save ; [] clean whitespace doesn't appear to be cleaning trailing whitespace anymore??? ; [] sometimes the main cursor is not the same width as the mark cursor in the same spot ; [] tab character wrong width @@ -98,6 +98,7 @@ ; [X] catch unsaved files on close ; [X] feedback messages ; [X] feedback message API +; [X] kill rect ; ; [] file status in custom API ; [] user file bar string @@ -110,7 +111,6 @@ ; [X] new file ; [] file out of sync ; [] double binding warnings -; [] kill rect ; ; GUI related tech ; [X] consolidate all GUI code properly @@ -168,6 +168,7 @@ ; ; [] tutorials ; [] 4edT thing +; [] unicode/UTF support ; ; INTERNAL TODOS diff --git a/build_all.bat b/build_all.bat index c941f561..e3a63c20 100644 --- a/build_all.bat +++ b/build_all.bat @@ -22,8 +22,8 @@ popd pushd ..\build REM call "..\code\buildsuper.bat" ..\code\4coder_default_bindings.cpp -REM call "..\code\buildsuper.bat" ..\code\power\4coder_experiments.cpp -call "..\code\buildsuper.bat" ..\code\power\4coder_casey.cpp +call "..\code\buildsuper.bat" ..\code\power\4coder_experiments.cpp +REM call "..\code\buildsuper.bat" ..\code\power\4coder_casey.cpp if %ERRORLEVEL% neq 0 (set FirstError=1) set EXPORTS=/EXPORT:app_get_functions diff --git a/buildsuper.bat b/buildsuper.bat index 55a28b03..105a74b3 100644 --- a/buildsuper.bat +++ b/buildsuper.bat @@ -10,12 +10,13 @@ if "%SRC%" == "" SET SRC=4coder_default_bindings.cpp SET OPTS=/W4 /wd4310 /wd4100 /wd4201 /wd4505 /wd4996 /wd4127 /wd4510 /wd4512 /wd4610 /WX SET OPTS=%OPTS% /GR- /nologo SET DEBUG=/Zi +set BUILD_DLL=/LD /link /INCREMENTAL:NO /OPT:REF SET EXPORTS=/EXPORT:get_bindings /EXPORT:get_alpha_4coder_version REM SET LINKS=user32.lib gdi32.lib SET LINKS= -cl %OPTS% %DEBUG% %SRC% %LINKS% /Fe4coder_custom /LD /link /INCREMENTAL:NO /OPT:REF %EXPORTS% +cl %OPTS% %DEBUG% %SRC% %LINKS% /Fe4coder_custom %BUILD_DLL% %EXPORTS% REM file spammation preventation del *.exp