If a document was loaded some time ago, and we load it again, the
display charset switch logic was missing this case.

Enjoy,
Ilya

--- ./WWW/Library/Implementation/SGML.c~        Tue Feb  4 18:00:16 2003
+++ ./WWW/Library/Implementation/SGML.c Tue Mar  4 00:15:28 2003
@@ -4459,6 +4459,19 @@ PUBLIC HTStream* SGML_new  ARGS3(
        context->inUCLYhndl = HTAnchor_getUCLYhndl(anchor,
                                                   UCT_STAGE_PARSER);
     }
+#ifdef CAN_SWITCH_DISPLAY_CHARSET /* Allow a switch to a more suitable display 
charset */
+     else if (anchor->UCStages
+             && anchor->UCStages->s[UCT_STAGE_PARSER].LYhndl >= 0
+             && anchor->UCStages->s[UCT_STAGE_PARSER].LYhndl != current_char_set ) {
+        int o = anchor->UCStages->s[UCT_STAGE_PARSER].LYhndl;
+
+        anchor->UCStages->s[UCT_STAGE_PARSER].LYhndl = -1; /* Force reset */
+        HTAnchor_resetUCInfoStage(anchor, o, UCT_STAGE_PARSER,
+                                  /* Preserve change this: */
+                                  anchor->UCStages->s[UCT_STAGE_PARSER].lock);
+    }
+#endif 
+
     context->inUCI = HTAnchor_getUCInfoStage(anchor,
                                             UCT_STAGE_PARSER);
     set_chartrans_handling(context, anchor, -1);

; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to [EMAIL PROTECTED]

Reply via email to