From: root Date: Thu, 19 Jan 2006 20:30:36 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=7ee035bf70f76e040650a377a25d42abad6a7503;p=dana%2Furxvt.git *** empty log message *** --- diff --git a/src/iom.h b/src/iom.h index 4108145e..5acb98b5 100644 --- 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) { } }; diff --git a/src/main.C b/src/main.C index b98eedb1..c45e7528 100644 --- a/src/main.C +++ b/src/main.C @@ -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); diff --git a/src/ptytty.C b/src/ptytty.C index 66832273..0b1fe870 100644 --- a/src/ptytty.C +++ b/src/ptytty.C @@ -387,7 +387,6 @@ static struct ttyconf { rxvt_ptytty_unix::rxvt_ptytty_unix () { - pty = tty = -1; name = 0; #if UTMP_SUPPORT cmd_pid = 0; diff --git a/src/rxvt.h b/src/rxvt.h index 2a342684..5db7c1ac 100644 --- a/src/rxvt.h +++ b/src/rxvt.h @@ -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; diff --git a/src/rxvtperl.xs b/src/rxvtperl.xs index 86738560..7b8ad6e2 100644 --- a/src/rxvtperl.xs +++ b/src/rxvtperl.xs @@ -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: