emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32term.c [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/w32term.c [emacs-unicode-2]
Date: Wed, 29 Sep 2004 21:43:35 -0400

Index: emacs/src/w32term.c
diff -c emacs/src/w32term.c:1.193.4.7 emacs/src/w32term.c:1.193.4.8
*** emacs/src/w32term.c:1.193.4.7       Fri Aug 27 07:00:32 2004
--- emacs/src/w32term.c Thu Sep 30 01:20:36 2004
***************
*** 64,70 ****
  
  /* Fringe bitmaps.  */
  
! static HBITMAP fringe_bmp[MAX_FRINGE_BITMAPS];
  
  /* Non-nil means Emacs uses toolkit scroll bars.  */
  
--- 64,71 ----
  
  /* Fringe bitmaps.  */
  
! static int max_fringe_bmp = 0;
! static HBITMAP *fringe_bmp = 0;
  
  /* Non-nil means Emacs uses toolkit scroll bars.  */
  
***************
*** 731,737 ****
                     p->bx, p->by, p->nx, p->ny);
      }
  
!   if (p->which)
      {
        HBITMAP pixmap = fringe_bmp[p->which];
        HDC compat_hdc;
--- 732,738 ----
                     p->bx, p->by, p->nx, p->ny);
      }
  
!   if (p->which && p->which < max_fringe_bmp)
      {
        HBITMAP pixmap = fringe_bmp[p->which];
        HDC compat_hdc;
***************
*** 794,799 ****
--- 795,809 ----
       unsigned short *bits;
       int h, wd;
  {
+   if (which >= max_fringe_bmp)
+     {
+       int i = max_fringe_bmp;
+       max_fringe_bmp = which + 20;
+       fringe_bmp = (HBITMAP *) xrealloc (fringe_bmp, max_fringe_bmp * sizeof 
(HBITMAP));
+       while (i < max_fringe_bmp)
+       fringe_bmp[i++] = 0;
+     }
+ 
    fringe_bmp[which] = CreateBitmap (wd, h, 1, 1, bits);
  }
  
***************
*** 801,806 ****
--- 811,819 ----
  w32_destroy_fringe_bitmap (which)
       int which;
  {
+   if (which >= max_fringe_bmp)
+     return;
+ 
    if (fringe_bmp[which])
      DeleteObject (fringe_bmp[which]);
    fringe_bmp[which] = 0;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]