FFFTPのソースコードです。
Revision | e03a4c193801de3ef2b2eae7613dad987e5203e5 (tree) |
---|---|
Zeit | 2015-11-30 23:35:08 |
Autor | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Fix bugs of dead locking.
@@ -81,7 +81,7 @@ | ||
81 | 81 | // ソフトウェア自動更新 |
82 | 82 | // リリースバージョンはリリース予定年(10進数4桁)+月(2桁)+日(2桁)+通し番号(0スタート2桁)とする |
83 | 83 | // 2014年7月31日中の30個目のリリースは2014073129 |
84 | -#define RELEASE_VERSION_NUM 2015113001 /* リリースバージョン */ | |
84 | +#define RELEASE_VERSION_NUM 2015113002 /* リリースバージョン */ | |
85 | 85 | |
86 | 86 | |
87 | 87 | // SourceForge.JPによるフォーク |
@@ -2384,28 +2384,43 @@ void DeleteProc(void) | ||
2384 | 2384 | CancelFlg = NO; |
2385 | 2385 | |
2386 | 2386 | // デッドロック対策 |
2387 | - DisableUserOpe(); | |
2388 | - Sts = YES; | |
2389 | - AskRemoteCurDir(CurDir, FMAX_PATH); | |
2390 | - FileListBase = NULL; | |
2387 | +// Sts = YES; | |
2388 | +// AskRemoteCurDir(CurDir, FMAX_PATH); | |
2389 | +// FileListBase = NULL; | |
2390 | +// if(GetFocus() == GetLocalHwnd()) | |
2391 | +// { | |
2392 | +// Win = WIN_LOCAL; | |
2393 | +// MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg); | |
2394 | +// } | |
2395 | +// else | |
2396 | +// { | |
2397 | +// Win = WIN_REMOTE; | |
2398 | +// if(CheckClosedAndReconnect() == FFFTP_SUCCESS) | |
2399 | +// MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg); | |
2400 | +// else | |
2401 | +// Sts = NO; | |
2402 | +// } | |
2403 | + Sts = FFFTP_SUCCESS; | |
2391 | 2404 | if(GetFocus() == GetLocalHwnd()) |
2392 | - { | |
2393 | 2405 | Win = WIN_LOCAL; |
2394 | - MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg); | |
2395 | - } | |
2396 | 2406 | else |
2397 | 2407 | { |
2398 | 2408 | Win = WIN_REMOTE; |
2399 | - if(CheckClosedAndReconnect() == FFFTP_SUCCESS) | |
2400 | - MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg); | |
2401 | - else | |
2402 | - Sts = NO; | |
2409 | + Sts = CheckClosedAndReconnect(); | |
2403 | 2410 | } |
2404 | 2411 | |
2405 | - if(Sts == YES) | |
2412 | + // デッドロック対策 | |
2413 | +// if(Sts == YES) | |
2414 | + if(Sts == FFFTP_SUCCESS) | |
2406 | 2415 | { |
2407 | 2416 | // デッドロック対策 |
2408 | -// DisableUserOpe(); | |
2417 | + DisableUserOpe(); | |
2418 | + AskRemoteCurDir(CurDir, FMAX_PATH); | |
2419 | + FileListBase = NULL; | |
2420 | + if(Win == WIN_LOCAL) | |
2421 | + MakeSelectedFileList(Win, NO, NO, &FileListBase, &CancelFlg); | |
2422 | + else | |
2423 | + MakeSelectedFileList(Win, YES, NO, &FileListBase, &CancelFlg); | |
2409 | 2424 | |
2410 | 2425 | DelFlg = NO; |
2411 | 2426 | Sts = NO; |
@@ -2442,10 +2457,8 @@ void DeleteProc(void) | ||
2442 | 2457 | } |
2443 | 2458 | |
2444 | 2459 | // デッドロック対策 |
2445 | -// EnableUserOpe(); | |
2460 | + EnableUserOpe(); | |
2446 | 2461 | } |
2447 | - // デッドロック対策 | |
2448 | - EnableUserOpe(); | |
2449 | 2462 | return; |
2450 | 2463 | } |
2451 | 2464 |