• R/O
  • SSH
  • HTTPS

ttssh2: コミット


コミットメタ情報

リビジョン8537 (tree)
日時2020-02-12 08:48:22
作者zmatsuo

ログメッセージ

指定サイズ毎の遅延が動作しなかったので修正

変更サマリ

差分

--- branches/sendmem_sendsize/teraterm/teraterm/sendmem.cpp (revision 8536)
+++ branches/sendmem_sendsize/teraterm/teraterm/sendmem.cpp (revision 8537)
@@ -70,6 +70,7 @@
7070 DWORD delay_per_line; // (ms)
7171 DWORD delay_per_char;
7272 DWORD delay_per_sendsize;
73+ DWORD delay_tick;
7374 size_t send_size_max;
7475 SendMemDelayType delay_type;
7576 HWND hWnd; // タイマーを受けるwindow
@@ -266,8 +267,7 @@
266267 }
267268
268269 if (p->waited) {
269- const DWORD delay = p->delay_per_line > 0 ? p->delay_per_line : p->delay_per_char;
270- if (GetTickCount() - p->last_send_tick < delay) {
270+ if (GetTickCount() - p->last_send_tick < p->delay_tick) {
271271 // ウエイトする
272272 return;
273273 }
@@ -295,12 +295,10 @@
295295
296296 // 送信長
297297 BOOL need_delay = FALSE;
298- DWORD delay_tick = 0;
299298 size_t send_len;
300299 if (p->delay_per_char > 0) {
301300 // 1キャラクタ送信
302301 need_delay = TRUE;
303- delay_tick = p->delay_per_char;
304302 if (p->type == SendMemTypeBinary) {
305303 send_len = 1;
306304 }
@@ -311,7 +309,6 @@
311309 else if (p->delay_per_line > 0) {
312310 // 1ライン送信
313311 need_delay = TRUE;
314- delay_tick = p->delay_per_line;
315312
316313 // 1行取り出し(改行コードは 0x0a に正規化されている)
317314 const wchar_t *line_top = (wchar_t *)&p->send_ptr[p->send_index];
@@ -345,7 +342,6 @@
345342 // 送信サイズ上限
346343 if (send_len > p->send_size_max) {
347344 need_delay = TRUE;
348- delay_tick = p->delay_per_sendsize;
349345 send_len = p->send_size_max;
350346 }
351347 }
@@ -382,7 +378,7 @@
382378 p->waited = TRUE;
383379 p->last_send_tick = GetTickCount();
384380 // タイマーはidleを動作させるために使用している
385- SetTimer(p->hWnd, p->timer_id, delay_tick, NULL);
381+ SetTimer(p->hWnd, p->timer_id, p->delay_tick, NULL);
386382 }
387383 }
388384
@@ -545,6 +541,7 @@
545541 sm->send_size_max = send_max;
546542 break;
547543 }
544+ sm->delay_tick = delay_tick;
548545 }
549546
550547 // セットするとダイアログが出る
旧リポジトリブラウザで表示