Threads starts and, we kno that place where WM_CREAT and WM _PAINT like that is.
So, we sure can check if the program releases or not.
We could stop the program if we found that.
(main-lootin: WindowsAPI: )
2020215
mainWindowProc: <- Add check if memories are free or not.
(20200214: Print Execution)
20200215
Released and Deliver from memorizedvPoint if we can not free vPoint* memories.
So, we changed our minds, and recreate and touch memorizedvPoint, which means recycled..
curve_points : |003FB9A8| i= 0/ 5 vCurveCalculation::BattleField: |037FDDD0|037FDFC8|037FDCC8|037FDDA0|vCurveCalculation::CaluculationStep STARTS. vCurveCalculation::CaluculationStep ENDS. p7=p( 33.295441, 11.244169, 19.104500) p8=p( -16.192818, -11.566299, -34.698898) curve_point=p( 0.000000, 0.000000, 0.000000) blend=p( -55.000000, 0.000000, 50.000000) blend_001=p( -110.000000, 0.000000, 100.000000) point=p( -110.000000, 0.000000, 100.000000) t=0.000000 graph=0.000000vCurveCalculation::BattleField: |037FF798| free_point starts. |037FE1C0| dummy_vPoint_index|108| free_point ends. |037FE1C0| dummy_vPoint_index{107}
// // // // // void free_point ( vPoint* p ) { printf("free_point starts. |%p| dummy_vPoint_index|%d|\r\n", p, dummy_vPoint_index); dummy_vPoint_index--; for( int i=dummy_vPoint_index; i>=0; i-- ) { if ( dummy_vPoint[i] == p ) { // flip vPoint* w_p = dummy_vPoint[dummy_vPoint_index]; dummy_vPoint[i] = dummy_vPoint[dummy_vPoint_index]; dummy_vPoint[dummy_vPoint_index] = w_p; } } printf("free_point ends. |%p| dummy_vPoint_index{%d}\r\n", p, dummy_vPoint_index); exit(-1); }