From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.bugs Subject: bug#33294: xwidget-insert crashes Emacs Date: Mon, 26 Nov 2018 15:02:21 +0100 Message-ID: References: <838t25cxft.fsf@gnu.org> <8336sccgob.fsf@gnu.org> <83wopnbp5s.fsf@gnu.org> <877ehntu92.fsf@gmail.com> <83sh0bbe52.fsf@gnu.org> <83r2fubsq1.fsf@gnu.org> <83in16b8pi.fsf@gnu.org> <83zhue8ede.fsf@gnu.org> <83bm6p777p.fsf@gnu.org> <83y39iki1r.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1543240922 19037 195.159.176.226 (26 Nov 2018 14:02:02 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 26 Nov 2018 14:02:02 +0000 (UTC) Cc: gazally@runbox.com, 33294@debbugs.gnu.org, lg.zevlg@gmail.com, monnier@iro.umontreal.ca To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 26 15:01:58 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRHSX-0004iV-Ip for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Nov 2018 15:01:57 +0100 Original-Received: from localhost ([::1]:36520 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRHUd-0001Mf-JQ for geb-bug-gnu-emacs@m.gmane.org; Mon, 26 Nov 2018 09:04:07 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45085) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gRHTh-0000Gu-Ec for bug-gnu-emacs@gnu.org; Mon, 26 Nov 2018 09:03:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gRHTb-0007yh-GZ for bug-gnu-emacs@gnu.org; Mon, 26 Nov 2018 09:03:09 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:43706) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gRHTb-0007yT-CY for bug-gnu-emacs@gnu.org; Mon, 26 Nov 2018 09:03:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gRHTa-0003v5-5d for bug-gnu-emacs@gnu.org; Mon, 26 Nov 2018 09:03:03 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 26 Nov 2018 14:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33294 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 33294-submit@debbugs.gnu.org id=B33294.154324095514349 (code B ref 33294); Mon, 26 Nov 2018 14:03:02 +0000 Original-Received: (at 33294) by debbugs.gnu.org; 26 Nov 2018 14:02:35 +0000 Original-Received: from localhost ([127.0.0.1]:47964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRHT8-0003j5-Jr for submit@debbugs.gnu.org; Mon, 26 Nov 2018 09:02:34 -0500 Original-Received: from mail-wr1-f67.google.com ([209.85.221.67]:36513) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gRHT4-0003ck-H9 for 33294@debbugs.gnu.org; Mon, 26 Nov 2018 09:02:32 -0500 Original-Received: by mail-wr1-f67.google.com with SMTP id t3so19036475wrr.3 for <33294@debbugs.gnu.org>; Mon, 26 Nov 2018 06:02:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:message-id:mime-version; bh=kUrrRhQ1Pl3I6F8bXO1+k/onq6kff5+eFzhfeZSQRB4=; b=U5od/xtJSyiTNhrHWLhfh+iiTbbJoddcpfE1D5dWF7BBBozkpsxVJQKl54GJCcTfvs U209vJuvl6oLponxfR+x4zUd+Q7V9d5Da/rpEo6BsVDTEJo/AB3C3CNy+1URk1cpe+Ct 8WWYjTFEOedQKRuwiO7B6iNzh/8wnx/GQ1ttGssYf9wBNKmivC5a195Nj3my+3tiO1Pa xNfO9aU6uSLwC3ahtANmb0eaWqZ3RtCJKZ2wLsRFsIVs0EpyHBI1PTwbWUArPiBUNICS Qr31a7SmWFaB6j2UGSaKbUnNQjf5DSnRs3jTIUkyPUVhA99IWfqc6Sigw/pv+sR1WUiR NulQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:message-id :mime-version; bh=kUrrRhQ1Pl3I6F8bXO1+k/onq6kff5+eFzhfeZSQRB4=; b=FdBwo90aYk63doNhNB1LDIm9iNPTQNTzUHULDUXBb5JGrr1i4SYYatghVnJ6hi5W/K dx/TvCHXZdaodTFG4IYIM1BdnecGp/FQH+8h3SgE8CoD4aIXbcdUPmHpOy9loR1J49oU bwHDCo9u3n5pNH7upirzNyFqW+Fh896cvuVmB7tQJRzAc8Zk1zrN5WSbgZEBEjlXWIaW L1IzNSZimseCoaW9ctXlIyBFHMLqH3qDlSGs2CTkGlCSnbbCD2+IDrMrBLW9P7WMYmUC t0Phc7YMqYzDwxAPo+7euG1JrfxyCTgFG9ly24cHZFpDMVnf/CFUHHWJaLrPxZgDhh4H UJZg== X-Gm-Message-State: AA+aEWZlEUrXL7jayWOMfbg5lPOL/pUMSUxCI3Nffv8H5P3g7aLV8Jay lZG0bdU73zHFOPuJip7JRTo= X-Google-Smtp-Source: AFSGD/WylXOUyZvwFgL5OlEePTJh7WQL0v4xp46rARmKqPL1VOCHm4xOD69Qkc/1Kq9/Mo7w5Jb8wA== X-Received: by 2002:adf:90e5:: with SMTP id i92mr8554903wri.210.1543240944413; Mon, 26 Nov 2018 06:02:24 -0800 (PST) Original-Received: from rpluim-mac ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id w8sm493231wrv.7.2018.11.26.06.02.22 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 26 Nov 2018 06:02:22 -0800 (PST) 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:152784 Archived-At: Eli Zaretskii writes: >> Than this is a separate problem. Looks like we need some flag to know >> whether GTK has been initiaized (set in xg_initialize), and if not, >> error out of make-xwidget and maybe xwidget_init_view. >> >> I don't have access to an Emacs with xwidget support to test this; can >> someone please provide a patch for that? Something like this? (with ChangeLog etc of course). I couldn't come up with a test-case for the xwidget_init_view path, but it causes make-xwidget to error out under '-nw' Robert diff --git c/src/gtkutil.c i/src/gtkutil.c index da4a0ae13d..4e4c953da2 100644 --- c/src/gtkutil.c +++ i/src/gtkutil.c @@ -5321,6 +5321,8 @@ xg_initialize (void) #ifdef HAVE_FREETYPE x_last_font_name = NULL; #endif + + xg_gtk_initialized = true; } #endif /* USE_GTK */ diff --git c/src/gtkutil.h i/src/gtkutil.h index 7dcd549f5c..3b074073e4 100644 --- c/src/gtkutil.h +++ i/src/gtkutil.h @@ -202,5 +202,6 @@ extern void xg_initialize (void); to indicate that the callback should do nothing. */ extern bool xg_ignore_gtk_scrollbar; +extern bool xg_gtk_initialized; #endif /* USE_GTK */ #endif /* GTKUTIL_H */ diff --git c/src/xwidget.c i/src/xwidget.c index 6faac10751..6da7a0bb3f 100644 --- c/src/xwidget.c +++ i/src/xwidget.c @@ -78,6 +78,8 @@ Returns the newly constructed xwidget, or nil if construction fails. */) Lisp_Object title, Lisp_Object width, Lisp_Object height, Lisp_Object arguments, Lisp_Object buffer) { + if (!xg_gtk_initialized) + error ("make-xwidget: GTK has not been initialized"); CHECK_SYMBOL (type); CHECK_FIXNAT (width); CHECK_FIXNAT (height); @@ -513,6 +515,10 @@ xwidget_init_view (struct xwidget *xww, struct glyph_string *s, int x, int y) { + + if (!xg_gtk_initialized) + error ("xwidget_init_view: GTK has not been initialized"); + struct xwidget_view *xv = allocate_xwidget_view (); Lisp_Object val;