--- rxvt-unicode/src/rxvtperl.xs 2006/01/08 08:43:11 1.42 +++ rxvt-unicode/src/rxvtperl.xs 2006/01/08 22:58:13 1.44 @@ -408,20 +408,20 @@ } void -rxvt_perl_interp::init (bool tainted) +rxvt_perl_interp::init () { if (!perl) { char *argv[] = { "", - "-edo '" LIBDIR "/urxvt.pm' or ($@ and die $@) or exit 1", "-T", + "-edo '" LIBDIR "/urxvt.pm' or ($@ and die $@) or exit 1", }; perl = perl_alloc (); perl_construct (perl); - if (perl_parse (perl, xs_init, 2 + !!tainted, argv, (char **)NULL) + if (perl_parse (perl, xs_init, 3, argv, (char **)NULL) || perl_run (perl)) { rxvt_warn ("unable to initialize perl-interpreter, continuing without.\n"); @@ -784,27 +784,32 @@ RETVAL void -rxvt_term::allow_events_async (U32 eventtime = THIS->perl.grabtime) +rxvt_term::allow_events_async () CODE: - XAllowEvents (THIS->display->display, AsyncBoth, eventtime); + XAllowEvents (THIS->display->display, AsyncBoth, THIS->perl.grabtime); void -rxvt_term::allow_events_sync (U32 eventtime = THIS->perl.grabtime) +rxvt_term::allow_events_sync () CODE: - XAllowEvents (THIS->display->display, SyncBoth, eventtime); + XAllowEvents (THIS->display->display, SyncBoth, THIS->perl.grabtime); void -rxvt_term::allow_events_replay (U32 eventtime = THIS->perl.grabtime) +rxvt_term::allow_events_replay () CODE: - XAllowEvents (THIS->display->display, ReplayPointer, eventtime); - XAllowEvents (THIS->display->display, ReplayKeyboard, eventtime); + XAllowEvents (THIS->display->display, ReplayPointer, THIS->perl.grabtime); + XAllowEvents (THIS->display->display, ReplayKeyboard, THIS->perl.grabtime); void -rxvt_term::ungrab (U32 eventtime = THIS->perl.grabtime) +rxvt_term::ungrab () CODE: - THIS->perl.grabtime = 0; - XUngrabKeyboard (THIS->display->display, eventtime); - XUngrabPointer (THIS->display->display, eventtime); +{ + if (THIS->perl.grabtime) + { + XUngrabKeyboard (THIS->display->display, THIS->perl.grabtime); + XUngrabPointer (THIS->display->display, THIS->perl.grabtime); + THIS->perl.grabtime = 0; + } +} int rxvt_term::strwidth (SV *str)