all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kenichi Handa <handa@m17n.org>
Cc: terjeros@phys.ntnu.no, emacs-devel@gnu.org
Subject: Re: Can't start Emacs on a monochrome display
Date: Thu, 31 Jul 2003 09:58:45 +0900 (JST)	[thread overview]
Message-ID: <200307310058.JAA07553@etlken.m17n.org> (raw)
In-Reply-To: <200307301317.WAA06628@etlken.m17n.org> (message from Kenichi Handa on Wed, 30 Jul 2003 22:17:50 +0900 (JST))

In article <200307301317.WAA06628@etlken.m17n.org>, Kenichi Handa <handa@m17n.org> writes:
> I tracked this problem down to this change:

> 2003-07-13  Terje Rosten  <terjeros@phys.ntnu.no>

> 	* 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  <handa@m17n.org>

	* 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
handa@m17n.org

  reply	other threads:[~2003-07-31  0:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-15 11:37 Can't start Emacs on a monochrome display Kenichi Handa
2003-07-30 13:17 ` Kenichi Handa
2003-07-31  0:58   ` Kenichi Handa [this message]
2003-08-01  2:20   ` Richard Stallman
2003-08-01  6:00     ` Jan D.
2003-08-01  6:34       ` Kenichi Handa
2003-08-02 17:24         ` Terje Rosten

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200307310058.JAA07553@etlken.m17n.org \
    --to=handa@m17n.org \
    --cc=emacs-devel@gnu.org \
    --cc=terjeros@phys.ntnu.no \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.