From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#23386: Segfault when messing with font-backend Date: Tue, 12 Jul 2016 20:45:30 +0300 Message-ID: <834m7ubvid.fsf@gnu.org> References: <83y47zxi81.fsf@gnu.org> <87d1mmiq35.fsf@users.sourceforge.net> <73cd86e5-3c92-cb6a-3a7b-1a5ec82c05de@yandex.ru> <87a8hpgseb.fsf@users.sourceforge.net> <831t30dz2e.fsf@gnu.org> <86d31541-774c-3605-41b7-2aae0efd7abb@yandex.ru> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1468345655 1288 80.91.229.3 (12 Jul 2016 17:47:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 12 Jul 2016 17:47:35 +0000 (UTC) Cc: 23386@debbugs.gnu.org, npostavs@users.sourceforge.net To: Dmitry Antipov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 12 19:47:23 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bN1mF-0003eT-72 for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Jul 2016 19:47:23 +0200 Original-Received: from localhost ([::1]:42455 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN1mE-0007lV-K5 for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Jul 2016 13:47:22 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN1lz-0007fy-TD for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 13:47:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bN1lu-0004c8-4Q for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 13:47:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36279) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN1lu-0004bs-0V for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 13:47:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bN1lt-0001af-Oy for bug-gnu-emacs@gnu.org; Tue, 12 Jul 2016 13:47:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Jul 2016 17:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23386 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 23386-submit@debbugs.gnu.org id=B23386.14683455766031 (code B ref 23386); Tue, 12 Jul 2016 17:47:01 +0000 Original-Received: (at 23386) by debbugs.gnu.org; 12 Jul 2016 17:46:16 +0000 Original-Received: from localhost ([127.0.0.1]:48615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN1lA-0001ZD-Bh for submit@debbugs.gnu.org; Tue, 12 Jul 2016 13:46:16 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:49179) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bN1l9-0001Yy-0E for 23386@debbugs.gnu.org; Tue, 12 Jul 2016 13:46:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bN1kz-00049P-3H for 23386@debbugs.gnu.org; Tue, 12 Jul 2016 13:46:09 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39546) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN1ky-000499-WA; Tue, 12 Jul 2016 13:46:05 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2859 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bN1kv-0001bO-1K; Tue, 12 Jul 2016 13:46:03 -0400 In-reply-to: <86d31541-774c-3605-41b7-2aae0efd7abb@yandex.ru> (message from Dmitry Antipov on Tue, 12 Jul 2016 18:20:41 +0300) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:120933 Archived-At: > Cc: 23386@debbugs.gnu.org > From: Dmitry Antipov > Date: Tue, 12 Jul 2016 18:20:41 +0300 > > > But it doesn't do what the user asked for. > > > > I don't see why it would be meaningless to evict a backend and start > > using another one, if all it takes is re-open a bunch of fonts. > > OK, the following patch basically works for me (not tested too much, BTW). Thanks. > --- a/src/frame.c > +++ b/src/frame.c > @@ -3712,7 +3712,11 @@ x_set_font_backend (struct frame *f, Lisp_Object new_value, Lisp_Object old_valu > return; > > if (FRAME_FONT (f)) > - free_all_realized_faces (Qnil); > + { > + Lisp_Object frame; > + XSETFRAME (frame, f); > + free_all_realized_faces (frame); > + } Since free_all_realized_faces with a nil argument will free faces on all frames, can you tell why this hunk was needed?