ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/main.C
(Generate patch)

Comparing rxvt-unicode/src/main.C (file contents):
Revision 1.369 by sf-exg, Thu Jan 19 13:33:43 2012 UTC vs.
Revision 1.374 by root, Sun Jun 3 10:42:34 2012 UTC

46 46
47#ifdef HAVE_XSETLOCALE 47#ifdef HAVE_XSETLOCALE
48# define X_LOCALE 48# define X_LOCALE
49# include <X11/Xlocale.h> 49# include <X11/Xlocale.h>
50#else 50#else
51# ifdef HAVE_SETLOCALE
52# include <locale.h> 51# include <locale.h>
53# endif
54#endif 52#endif
55 53
56struct termios rxvt_term::def_tio; 54struct termios rxvt_term::def_tio;
57vector<rxvt_term *> rxvt_term::termlist; 55vector<rxvt_term *> rxvt_term::termlist;
58 56
376 for (rxvt_term **t = rxvt_term::termlist.begin (); t < rxvt_term::termlist.end (); t++) 374 for (rxvt_term **t = rxvt_term::termlist.begin (); t < rxvt_term::termlist.end (); t++)
377 (*t)->emergency_cleanup (); 375 (*t)->emergency_cleanup ();
378} 376}
379 377
380#if !ENABLE_MINIMAL 378#if !ENABLE_MINIMAL
381static void 379static void ecb_cold
382print_x_error (Display *dpy, XErrorEvent *event) 380print_x_error (Display *dpy, XErrorEvent *event)
383{ 381{
384 char buffer[BUFSIZ]; 382 char buffer[BUFSIZ];
385 char mesg[BUFSIZ]; 383 char mesg[BUFSIZ];
386 char number[32]; 384 char number[32];
424 mesg, BUFSIZ); 422 mesg, BUFSIZ);
425 rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->serial); 423 rxvt_warn (strncat (mesg, "\n", BUFSIZ), event->serial);
426} 424}
427#endif 425#endif
428 426
429int 427int ecb_cold
430rxvt_xerror_handler (Display *display, XErrorEvent *event) 428rxvt_xerror_handler (Display *display, XErrorEvent *event)
431{ 429{
432 if (GET_R->allowedxerror == -1) 430 if (GET_R->allowedxerror == -1)
433 GET_R->allowedxerror = event->error_code; 431 GET_R->allowedxerror = event->error_code;
434 else 432 else
443 } 441 }
444 442
445 return 0; 443 return 0;
446} 444}
447 445
448int 446int ecb_cold
449rxvt_xioerror_handler (Display *display) 447rxvt_xioerror_handler (Display *display)
450{ 448{
451 rxvt_warn ("X connection to '%s' broken, unable to recover, exiting.\n", 449 rxvt_warn ("X connection to '%s' broken, unable to recover, exiting.\n",
452 DisplayString (display)); 450 DisplayString (display));
453 rxvt_emergency_cleanup (); 451 rxvt_emergency_cleanup ();
573 old_xerror_handler = XSetErrorHandler ((XErrorHandler) rxvt_xerror_handler); 571 old_xerror_handler = XSetErrorHandler ((XErrorHandler) rxvt_xerror_handler);
574 // TODO: handle this with exceptions and tolerate the memory loss 572 // TODO: handle this with exceptions and tolerate the memory loss
575 XSetIOErrorHandler (rxvt_xioerror_handler); 573 XSetIOErrorHandler (rxvt_xioerror_handler);
576 574
577 XrmInitialize (); 575 XrmInitialize ();
576
577#ifdef HAVE_PIXBUF
578 g_type_init ();
579#endif
578} 580}
579 581
580/*----------------------------------------------------------------------*/ 582/*----------------------------------------------------------------------*/
581/* 583/*
582 * window size/position calculations for XSizeHint and other storage. 584 * window size/position calculations for XSizeHint and other storage.
766 768
767 delete fontset[0]; 769 delete fontset[0];
768 fontset[0] = fs; 770 fontset[0] = fs;
769 771
770 prop = (*fs)[rxvt_fontset::firstFont]->properties (); 772 prop = (*fs)[rxvt_fontset::firstFont]->properties ();
771 prop.height += lineSpace;
772 prop.width += letterSpace; 773 prop.width += letterSpace;
773 774
774 fs->set_prop (prop, false); 775 fs->set_prop (prop, false);
775 776
776 fwidth = prop.width; 777 fwidth = prop.width;
777 fheight = prop.height; 778 fheight = prop.height + lineSpace;
778 fbase = prop.ascent; 779 fbase = prop.ascent;
779 780
780 for (int style = 1; style < 4; style++) 781 for (int style = 1; style < 4; style++)
781 { 782 {
782#if ENABLE_STYLES 783#if ENABLE_STYLES
1528 im_destroy (); 1529 im_destroy ();
1529 1530
1530 if (Input_Context) 1531 if (Input_Context)
1531 return; 1532 return;
1532 1533
1533#if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
1534 if (rs[Rs_imLocale]) 1534 if (rs[Rs_imLocale])
1535 SET_LOCALE (rs[Rs_imLocale]); 1535 SET_LOCALE (rs[Rs_imLocale]);
1536#endif
1537 1536
1538 p = rs[Rs_inputMethod]; 1537 p = rs[Rs_inputMethod];
1539 if (p && *p) 1538 if (p && *p)
1540 { 1539 {
1541 bool found = false; 1540 bool found = false;
1568 1567
1569 /* try with no modifiers base IF the user didn't specify an IM */ 1568 /* try with no modifiers base IF the user didn't specify an IM */
1570 if (im_get_ic ("@im=none")) 1569 if (im_get_ic ("@im=none"))
1571 goto done; 1570 goto done;
1572 1571
1573done: ; 1572done:
1574#if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
1575 if (rs[Rs_imLocale]) 1573 if (rs[Rs_imLocale])
1576 SET_LOCALE (locale); 1574 SET_LOCALE (locale);
1577#endif
1578} 1575}
1579 1576
1580void 1577void
1581rxvt_term::im_set_position () 1578rxvt_term::im_set_position ()
1582{ 1579{

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines