*** empty log message ***
authorroot <root>
Thu, 19 Jan 2006 20:30:36 +0000 (20:30 +0000)
committerroot <root>
Thu, 19 Jan 2006 20:30:36 +0000 (20:30 +0000)
src/iom.h
src/main.C
src/ptytty.C
src/rxvt.h
src/rxvtperl.xs

index 4108145e92b51e1ec0eb8d3bd42ff37311a051dc..5acb98b5e5ad352480dc6431c065d41453485c2c 100644 (file)
--- a/src/iom.h
+++ b/src/iom.h
@@ -117,6 +117,8 @@ public:
 struct watcher {
   int active; /* 0 == inactive, else index into respective vector */
 
+  bool is_active () { return active; }
+
   watcher () : active (0) { }
 };
 
index b98eedb196b6f9b1d525eb6a4a24a18ee4c5e398..c45e75283c73c9f07a4ac092b615e9de4cb3b2d2 100644 (file)
@@ -465,11 +465,6 @@ rxvt_term::init (int argc, const char *const *argv)
   keyboard->register_done ();
 #endif
 
-#ifdef HAVE_SCROLLBARS
-  if (OPTION (Opt_scrollBar))
-    scrollBar.setIdle ();    /* set existence for size calculations */
-#endif
-
 #if ENABLE_PERL
   if (!rs[Rs_perl_ext_1])
     rs[Rs_perl_ext_1] = "default";
@@ -483,6 +478,11 @@ rxvt_term::init (int argc, const char *const *argv)
     }
 #endif
 
+#ifdef HAVE_SCROLLBARS
+  if (OPTION (Opt_scrollBar))
+    scrollBar.setIdle ();    /* set existence for size calculations */
+#endif
+
   pty = rxvt_new_ptytty ();
 
   create_windows (argc, argv);
index 668322739c92b8358582169a563fd1aedb42c881..0b1fe870f082cee13ea4e0bec8cf7a165065d726 100644 (file)
@@ -387,7 +387,6 @@ static struct ttyconf {
 
 rxvt_ptytty_unix::rxvt_ptytty_unix ()
 {
-  pty = tty = -1;
   name = 0;
 #if UTMP_SUPPORT
   cmd_pid = 0;
index 2a342684f7794fd49354c8ee76f0918af49377fc..5db7c1ac0a36a3c573e04ce62b3fa84d42d512f2 100644 (file)
@@ -177,9 +177,13 @@ struct rxvt_ptytty {
   int pty; // pty file descriptor; connected to rxvt
   int tty; // tty file descriptor; connected to child
 
+  rxvt_ptytty ()
+  : pty(-1), tty(-1)
+  {
+  }
+
   virtual ~rxvt_ptytty ()
   {
-    //
   }
 
   virtual bool get () = 0;
index 8673856058f69dc7c7114d719485be043be655f5..7b8ad6e2b57e56406883c11811c5debd1b80e31f 100644 (file)
@@ -1494,24 +1494,25 @@ rxvt_term::option (U32 optval, int set = -1)
             else
               THIS->options &= ~optval;
 
-            switch (optval)
-              {
-                case Opt_skipBuiltinGlyphs:
-                  THIS->set_fonts ();
-                  THIS->scr_remap_chars ();
-                  THIS->scr_touch (true);
-                  THIS->want_refresh = 1;
-                  break;
+            if (THIS->check_ev.is_active ()) // avoid doing this before START
+              switch (optval)
+                {
+                  case Opt_skipBuiltinGlyphs:
+                    THIS->set_fonts ();
+                    THIS->scr_remap_chars ();
+                    THIS->scr_touch (true);
+                    THIS->want_refresh = 1;
+                    break;
 
-                case Opt_cursorUnderline:
-                  THIS->want_refresh = 1;
-                  break;
+                  case Opt_cursorUnderline:
+                    THIS->want_refresh = 1;
+                    break;
 
 #                  case Opt_scrollBar_floating:
 #                  case Opt_scrollBar_right:
 #                    THIS->resize_all_windows (THIS->width, THIS->height, 1);
 #                    break;
-              }
+                }
           }
 }
         OUTPUT: