term->cfg is now a full copy of the Config structure, not a pointer;
[u/mdw/putty] / terminal.h
index 04217fc..72c8f87 100644 (file)
@@ -94,6 +94,7 @@ struct terminal_tag {
     long last_tblink;
 
     int xterm_mouse;                  /* send mouse messages to app */
+    int mouse_is_down;                /* used while tracking mouse buttons */
 
     unsigned long cset_attr[2];
 
@@ -154,9 +155,30 @@ struct terminal_tag {
 
     short wordness[256];
 
+    /* Mask of attributes to pay attention to when painting. */
+    unsigned long attr_mask;
+
     wchar_t *paste_buffer;
     int paste_len, paste_pos, paste_hold;
     long last_paste;
+
+    void (*resize_fn)(void *, int, int);
+    void *resize_ctx;
+
+    void *ldisc;
+
+    void *frontend;
+
+    void *logctx;
+
+    /*
+     * We maintain a full _copy_ of a Config structure here, not
+     * merely a pointer to it. That way, when we're passed a new
+     * one for reconfiguration, we can check the differences and
+     * adjust the _current_ setting of (e.g.) auto wrap mode rather
+     * than only the default.
+     */
+    Config cfg;
 };
 
 #define in_utf(term) ((term)->utf || line_codepage==CP_UTF8)