Diff

Differences From Artifact [ecad3f362b]:

To Artifact [0c965d3ae3]:


940
941
942
943
944
945
946

947
948
949
950
951
952
953
static LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
                                 WPARAM wParam, LPARAM lParam) {
    HDC hdc;
    static int ignore_size = FALSE;
    static int ignore_clip = FALSE;
    static int ignore_keymenu = TRUE;
    static int just_reconfigged = FALSE;


    switch (message) {
      case WM_TIMER:
	if (pending_netevent)
	    enact_pending_netevent();
	if (inbuf_head)
	    term_out();







>







940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
static LRESULT CALLBACK WndProc (HWND hwnd, UINT message,
                                 WPARAM wParam, LPARAM lParam) {
    HDC hdc;
    static int ignore_size = FALSE;
    static int ignore_clip = FALSE;
    static int ignore_keymenu = TRUE;
    static int just_reconfigged = FALSE;
    static int resizing = FALSE;

    switch (message) {
      case WM_TIMER:
	if (pending_netevent)
	    enact_pending_netevent();
	if (inbuf_head)
	    term_out();
1246
1247
1248
1249
1250
1251
1252

1253
1254
1255


1256
1257
1258
1259
1260
1261
1262
	term_update();
	break;
      case WM_IGNORE_SIZE:
	ignore_size = TRUE;	       /* don't panic on next WM_SIZE msg */
	break;
      case WM_ENTERSIZEMOVE:
        EnableSizeTip(1);

        break;
      case WM_EXITSIZEMOVE:
        EnableSizeTip(0);


        break;
      case WM_SIZING:
	{
	    int width, height, w, h, ew, eh;
	    LPRECT r = (LPRECT)lParam;

	    width = r->right - r->left - extra_width;







>



>
>







1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
	term_update();
	break;
      case WM_IGNORE_SIZE:
	ignore_size = TRUE;	       /* don't panic on next WM_SIZE msg */
	break;
      case WM_ENTERSIZEMOVE:
        EnableSizeTip(1);
        resizing = TRUE;
        break;
      case WM_EXITSIZEMOVE:
        EnableSizeTip(0);
        resizing = FALSE;
        back->size();
        break;
      case WM_SIZING:
	{
	    int width, height, w, h, ew, eh;
	    LPRECT r = (LPRECT)lParam;

	    width = r->right - r->left - extra_width;
1317
1318
1319
1320
1321
1322
1323






1324
1325
1326
1327
1328
1329
1330
1331
			      r.right - r.left - ew, r.bottom - r.top - eh,
			      SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
	    }
#endif
	    if (w != cols || h != rows || just_reconfigged) {
		term_invalidate();
		term_size (h, w, cfg.savelines);






		back->size();
		just_reconfigged = FALSE;
	    }
	}
	ignore_size = FALSE;
	return 0;
      case WM_VSCROLL:
	switch (LOWORD(wParam)) {







>
>
>
>
>
>
|







1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
			      r.right - r.left - ew, r.bottom - r.top - eh,
			      SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
	    }
#endif
	    if (w != cols || h != rows || just_reconfigged) {
		term_invalidate();
		term_size (h, w, cfg.savelines);
                /*
                 * Don't call back->size in mid-resize. (To prevent
                 * massive numbers of resize events getting sent
                 * down the connection during an NT opaque drag.)
                 */
                if (!resizing)
                    back->size();
		just_reconfigged = FALSE;
	    }
	}
	ignore_size = FALSE;
	return 0;
      case WM_VSCROLL:
	switch (LOWORD(wParam)) {