fixed current_scroll crash bugs

This commit is contained in:
Allen Webster 2016-05-23 19:43:19 -04:00
parent 3628c03a36
commit 2a60fc7b80
5 changed files with 17 additions and 14 deletions

View File

@ -1175,7 +1175,6 @@ COMMAND_DECL(auto_tab_range){
} }
COMMAND_DECL(open_panel_vsplit){ COMMAND_DECL(open_panel_vsplit){
USE_VARS(vars); USE_VARS(vars);
USE_MODELS(models); USE_MODELS(models);
USE_PANEL(panel); USE_PANEL(panel);

View File

@ -3646,12 +3646,7 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
view->current_scroll = &view->recent->scroll; view->current_scroll = &view->recent->scroll;
gui_get_scroll_vars(target, scroll_context, gui_get_scroll_vars(target, scroll_context,
&view->recent->scroll, &view->scroll_region); &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, gui_begin_scrollable(target, scroll_context, view->recent->scroll,
delta, show_scrollbar); delta, show_scrollbar);
gui_do_file(target); 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){ switch (view->showing_ui){
case VUI_Menu: case VUI_Menu:
{ {
view->current_scroll = &view->gui_scroll;
String message = make_lit_string("Menu"); String message = make_lit_string("Menu");
String empty_string = {0}; String empty_string = {0};
GUI_id id = {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: case VUI_Config:
{ {
view->current_scroll = &view->gui_scroll;
String message = make_lit_string("Config"); String message = make_lit_string("Config");
String empty_string = {0}; String empty_string = {0};
GUI_id id = {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: case VUI_Theme:
{ {
view->current_scroll = &view->gui_scroll;
if (view != active_view){ if (view != active_view){
view->hot_file_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: case VUI_Interactive:
{ {
view->current_scroll = &view->gui_scroll;
GUI_id id = {0}; GUI_id id = {0};
id.id[1] = VUI_Interactive + ((u64)view->interaction << 32); 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); gui_do_text_field(target, message, hdir->string);
view->current_scroll = &view->gui_scroll;
scroll_context.id[0] = (u64)(hdir); scroll_context.id[0] = (u64)(hdir);
if (gui_get_scroll_vars(target, scroll_context, if (gui_get_scroll_vars(target, scroll_context,
&view->gui_scroll, &view->scroll_region)){ &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); gui_do_text_field(target, message, view->dest);
view->current_scroll = &view->gui_scroll;
scroll_context.id[0] = (u64)(working_set); scroll_context.id[0] = (u64)(working_set);
if (gui_get_scroll_vars(target, scroll_context, if (gui_get_scroll_vars(target, scroll_context,
&view->gui_scroll, &view->scroll_region)){ &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->models = models;
result.view->scrub_max = 1; result.view->scrub_max = 1;
result.view->current_scroll = &result.view->recent->scroll;
init_query_set(&result.view->query_set); init_query_set(&result.view->query_set);

View File

@ -66,8 +66,8 @@
; [X] open empty file bug ; [X] open empty file bug
; [X] chronal's map setting issue ; [X] chronal's map setting issue
; [X] linux save jankieness ; [X] linux save jankieness
; [] indication on failure to save
; [X] bouncing when scrolling down ; [X] bouncing when scrolling down
; [] indication on failure to save
; [] clean whitespace doesn't appear to be cleaning trailing whitespace anymore??? ; [] 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 ; [] sometimes the main cursor is not the same width as the mark cursor in the same spot
; [] tab character wrong width ; [] tab character wrong width
@ -98,6 +98,7 @@
; [X] catch unsaved files on close ; [X] catch unsaved files on close
; [X] feedback messages ; [X] feedback messages
; [X] feedback message API ; [X] feedback message API
; [X] kill rect
; ;
; [] file status in custom API ; [] file status in custom API
; [] user file bar string ; [] user file bar string
@ -110,7 +111,6 @@
; [X] new file ; [X] new file
; [] file out of sync ; [] file out of sync
; [] double binding warnings ; [] double binding warnings
; [] kill rect
; ;
; GUI related tech ; GUI related tech
; [X] consolidate all GUI code properly ; [X] consolidate all GUI code properly
@ -168,6 +168,7 @@
; ;
; [] tutorials ; [] tutorials
; [] 4edT thing ; [] 4edT thing
; [] unicode/UTF support
; ;
; INTERNAL TODOS ; INTERNAL TODOS

View File

@ -22,8 +22,8 @@ popd
pushd ..\build pushd ..\build
REM call "..\code\buildsuper.bat" ..\code\4coder_default_bindings.cpp 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_experiments.cpp
call "..\code\buildsuper.bat" ..\code\power\4coder_casey.cpp REM call "..\code\buildsuper.bat" ..\code\power\4coder_casey.cpp
if %ERRORLEVEL% neq 0 (set FirstError=1) if %ERRORLEVEL% neq 0 (set FirstError=1)
set EXPORTS=/EXPORT:app_get_functions set EXPORTS=/EXPORT:app_get_functions

View File

@ -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=/W4 /wd4310 /wd4100 /wd4201 /wd4505 /wd4996 /wd4127 /wd4510 /wd4512 /wd4610 /WX
SET OPTS=%OPTS% /GR- /nologo SET OPTS=%OPTS% /GR- /nologo
SET DEBUG=/Zi SET DEBUG=/Zi
set BUILD_DLL=/LD /link /INCREMENTAL:NO /OPT:REF
SET EXPORTS=/EXPORT:get_bindings /EXPORT:get_alpha_4coder_version SET EXPORTS=/EXPORT:get_bindings /EXPORT:get_alpha_4coder_version
REM SET LINKS=user32.lib gdi32.lib REM SET LINKS=user32.lib gdi32.lib
SET LINKS= 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 REM file spammation preventation
del *.exp del *.exp