From: Eli Zaretskii <eliz@gnu.org>
To: nljlistbox2@gmail.com (N. Jackson)
Cc: 25851@debbugs.gnu.org
Subject: bug#25851: 25.2; GTK warning when starting Emacs when desktop file has more than one frame
Date: Sat, 25 Feb 2017 10:17:28 +0200 [thread overview]
Message-ID: <83fuj2smzr.fsf@gnu.org> (raw)
In-Reply-To: <87y3wvqqos.fsf@moondust.localdomain> (nljlistbox2@gmail.com)
> From: nljlistbox2@gmail.com (N. Jackson)
> Cc: 25851@debbugs.gnu.org
> Date: Fri, 24 Feb 2017 15:28:19 -0500
>
> FWIW, the following expands on the information in my previous
> message.
Thanks, I think this clarifies the picture quite a bit, see below.
> 1. With a desktop file that specifies three frames, the first time
> we enter `xg_set_geometry' after starting Emacs (presumably when
> the first/main Emacs frame is created), `f->size_hint_flags' is 0,
> the body of the function is not executed,
> `gtk_window_parse_geometry' is not called, and no warning message
> is printed by GTK:
> [...]
> 2. Each of the next two times we enter `xg_set_geometry'
> (presumably as the second and third frame specified in the desktop
> file are created), `f->size_hint_flags' is 4, the body of the
> function is executed, `gtk_window_parse_geometry' is called, and
> the warning message is printed by GTK:
Right. 4 is PPosition flag, AFAIU.
The only place where we set the USPosition and PPosition flags in
size_hint_flags field of a frame structure is in function
x_figure_window_size (in frame.c), when the user-position parameter or
the top/left parameters are present in the parameters of the frame
being created. And that explains the difference between restoring
desktop and simply creating a new frame: frameset.el restores the
frames at their recorded positions, which is why the PPosition flag is
set. I think you should be able to reproduce the warning with the
likes of "C-x 5 b" and even just by starting Emacs, if you arrange for
frame coordinates to be specified in the frame parameters, e.g. with
the --geometry command-line option when invoking Emacs.
So we are back at square one: we need to understand why the warning
isn't get silenced by this:
/* Silence warning about visible children. */
id = g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
| G_LOG_FLAG_RECURSION, my_log_handler, NULL);
Can you look into the source of g_warning and see why the above
doesn't avoid these warnings, and what should we do to avoid it?
Thanks.
next prev parent reply other threads:[~2017-02-25 8:17 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-23 16:08 bug#25851: 25.2; GTK warning when starting Emacs when desktop file has more than one frame N. Jackson
2017-02-23 16:24 ` Eli Zaretskii
2017-02-24 2:33 ` N. Jackson
2017-02-24 8:07 ` Eli Zaretskii
2017-02-24 13:41 ` N. Jackson
2017-02-24 13:53 ` N. Jackson
2017-02-24 14:10 ` Eli Zaretskii
2017-02-24 16:09 ` N. Jackson
2017-02-24 20:28 ` N. Jackson
2017-02-25 8:17 ` Eli Zaretskii [this message]
2017-02-26 22:41 ` N. Jackson
2017-02-27 0:31 ` N. Jackson
2017-02-27 16:18 ` Eli Zaretskii
2017-02-27 18:26 ` N. Jackson
2017-02-27 18:37 ` Eli Zaretskii
2017-02-28 9:46 ` martin rudalics
2017-03-01 20:05 ` N. Jackson
2017-03-23 8:00 ` martin rudalics
2017-03-23 14:11 ` N. Jackson
2017-03-24 9:01 ` martin rudalics
2017-03-24 20:28 ` N. Jackson
2017-03-25 6:26 ` Eli Zaretskii
2017-03-28 13:15 ` N. Jackson
2017-03-29 7:36 ` martin rudalics
2017-03-25 9:25 ` martin rudalics
2017-04-27 19:28 ` N. Jackson
2017-04-11 6:49 ` martin rudalics
2017-04-27 19:55 ` N. Jackson
2017-04-29 10:30 ` martin rudalics
2017-04-29 19:32 ` N. Jackson
2017-04-30 8:32 ` martin rudalics
2017-04-30 16:13 ` N. Jackson
2017-04-30 19:36 ` martin rudalics
2017-02-28 9:46 ` martin rudalics
2017-02-28 15:51 ` Eli Zaretskii
2017-02-28 18:42 ` martin rudalics
2017-02-28 18:50 ` Eli Zaretskii
2017-03-01 8:29 ` martin rudalics
2017-03-01 16:18 ` Eli Zaretskii
2017-03-01 19:36 ` martin rudalics
2017-03-01 19:47 ` Eli Zaretskii
2017-03-01 20:11 ` Eli Zaretskii
2017-03-02 11:00 ` martin rudalics
2017-03-02 15:09 ` Eli Zaretskii
2017-03-02 17:57 ` martin rudalics
2017-03-02 20:10 ` Eli Zaretskii
2017-03-03 8:13 ` martin rudalics
2017-03-03 8:25 ` Eli Zaretskii
2017-03-01 20:16 ` N. Jackson
2017-03-03 8:13 ` martin rudalics
2017-03-03 13:05 ` N. Jackson
2017-03-03 14:24 ` martin rudalics
2017-03-06 18:25 ` N. Jackson
2017-03-06 18:44 ` martin rudalics
2017-02-25 8:21 ` martin rudalics
2017-02-26 22:47 ` N. Jackson
2017-02-27 2:22 ` N. Jackson
2017-02-27 8:04 ` martin rudalics
2017-02-27 17:56 ` N. Jackson
2017-02-28 9:46 ` martin rudalics
2017-02-25 7:55 ` Eli Zaretskii
2017-02-26 22:09 ` N. Jackson
2017-03-23 7:59 ` martin rudalics
2017-03-23 13:47 ` Drew Adams
2017-03-23 14:34 ` N. Jackson
2017-03-24 9:01 ` martin rudalics
2017-03-24 20:37 ` N. Jackson
2017-03-25 9:25 ` martin rudalics
2017-03-23 15:24 ` Eli Zaretskii
2017-03-24 9:02 ` martin rudalics
2017-04-27 19:45 ` N. Jackson
2017-04-27 19:52 ` Noam Postavsky
2017-04-28 14:15 ` N. Jackson
2017-04-28 14:25 ` N. Jackson
2017-09-25 16:31 ` N. Jackson
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=83fuj2smzr.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=25851@debbugs.gnu.org \
--cc=nljlistbox2@gmail.com \
/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.