emacs-devel
[Top][All Lists]
Advanced

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

Re: Can't start Emacs on a monochrome display


From: Kenichi Handa
Subject: Re: Can't start Emacs on a monochrome display
Date: Fri, 1 Aug 2003 15:34:07 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.2.92 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

In article <address@hidden>, "Jan D." <address@hidden> writes:
>>  I asked Jan Djarv to look at this, since it concerns GTK,
>>  but he has not answered so I suspect he is on vacation.
>>  If someone else can figure it out, that would be good.

> I got the impression Handa-san fixed this.  Is that the case?

Yes.  I'll attach the relevant mail again.   

---
Ken'ichi HANDA
address@hidden

----------------------------------------------------------------------
Date: Thu, 31 Jul 2003 09:58:45 +0900 (JST)
From: Kenichi Handa <address@hidden>
To: address@hidden
In-reply-to: <address@hidden> (message from Kenichi     Handa on Wed, 30 Jul 
2003 22:17:50 +0900 (JST))
Cc: address@hidden, address@hidden
Subject: Re: Can't start Emacs on a monochrome display
X-Mailman-Copy: yes
Sender: address@hidden

In article <address@hidden>, Kenichi Handa <address@hidden> writes:
> I tracked this problem down to this change:

> 2003-07-13  Terje Rosten  <address@hidden>

>       * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
>       and use the Gtk+ function gtk_window_icon_from_file if available.

>       * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
>       handle mask of bitmaps.
>       (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
>       mask property.
>       (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.

>       * xterm.h (xg_set_icon): New function.

> When I cancel this change, Emacs starts up correctly on a
> monochrome display.

I found what's wrong.  On monochrome display, Emacs calls
load_pixmap to make a stipple of a face.  This function
creates a pixmap without mask.  But, x_destroy_bitmap
unconditionaly tries to free a mask, thus xlib will free
unallocated memory.  So, I've installed these changes.

2003-07-31  Kenichi Handa  <address@hidden>

        * xterm.h (struct x_bitmap_record): New member have_mask.

        * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
        to 0.
        (x_create_bitmap_from_file): Likewise.
        (x_destroy_bitmap): Check have_mask member before freeing a mask.
        (x_destroy_all_bitmaps): Likewise.
        (x_create_bitmap_mask): Set have_mask member to 1.

---
Ken'ichi HANDA
address@hidden


_______________________________________________
Emacs-devel mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/emacs-devel





reply via email to

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