unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Third <alan@idiocy.org>
To: "Daniel Martín" <mardani29@yahoo.es>
Cc: Konrad Podczeck <konrad.podczeck@univie.ac.at>, 67694@debbugs.gnu.org
Subject: bug#67694: 30.0.50; tool-bar
Date: Sat, 16 Dec 2023 20:13:12 +0000	[thread overview]
Message-ID: <ZX4E2KbhsE2s9pEn@idiocy.org> (raw)
In-Reply-To: <m1le9ucmqu.fsf@yahoo.es>

On Sat, Dec 16, 2023 at 02:15:05PM +0100, Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors wrote:
> Konrad Podczeck <konrad.podczeck@univie.ac.at> writes:
> 
> > In nsterm.m, deleting the lines of code
> >
> >
> > #ifdef NS_IMPL_COCOA
> > if (! send_appdefined)
> >   {
> >   /* OS X 10.10.1 swallows the AppDefined event we are sending ourselves
> >        in certain situations (rapid incoming events).
> >        So check if we have one, if not add one.  */
> >     NSEvent *appev = [NSApp nextEventMatchingMask:NSEventMaskApplicationDefined
> >                                         untilDate:[NSDate distantPast]
> >                                            inMode:NSDefaultRunLoopMode
> >                                           dequeue:NO];
> >     if (! appev) send_appdefined = YES;
> >   }
> > #endif
> >
> > as done in commit 6acb3c5b05a7b9fb32a5336e1bb740f527571ae9 on
> > 23-09-11, seems to be incompatible with macos Sonoma or Monterey. In
> > both versions, and with both an M1 processor and an Intel one, I got
> > the following problem, with these lines of code removed. I have
> > pdf-tools installed, and via the code in windows.el, I have both the
> > pdf output and some latex source code to appear in their own frames. I
> > also have a managed to have a tool-bar in the frame showing the
> > pdf-outout, with an icon for going from one page to the next. Now if I
> > repeatedly click with the mouse on this icon very fast, then, after 3
> > to 5 clicks, the whole emacs.app begins to hang. This is not so with
> > the above lines of code still present in nsterm.m.
> 
> Could you describe the steps to reproduce this bug in more detail?  Does
> it happen only when using the pdf-tools package?
> 
> Starting from emacs -Q, I’ve installed the pdf-tools package (M-x
> package-install RET pdf-tools RET), but, after visiting a PDF file, I
> don’t see any tool-bar icons to go to the previous and next page in the
> PDF.

I hate this application defined event malarkey, but I was never able
to come up with a better solution. The problem described in the
removed comment certainly looks like an Apple bug, but if it is then
surely it would have been fixed by now.

Konrad, are you able to try changing the code thus (the line numbers
are probably wrong):

modified   src/nsterm.m
@@ -4604,10 +4604,16 @@ Function modeled after x_draw_glyph_string_box ().
                                    data1: value
                                    data2: 0];
 
-      /* Post an application defined event on the event queue.  When this is
-         received the [NXApp run] will return, thus having processed all
-         events which are currently queued.  */
-      [NSApp postEvent: nxev atStart: NO];
+      if (! nxev)
+        {
+          NSLog(@"Something has stopped us creating an event.");
+          send_appdefined = YES;
+        }
+      else
+        /* Post an application defined event on the event queue.  When this is
+           received the [NXApp run] will return, thus having processed all
+           events which are currently queued.  */
+        [NSApp postEvent: nxev atStart: NO];
     }
 }

See if the log message prints, and/or whether it solves the problem.

-- 
Alan Third





  reply	other threads:[~2023-12-16 20:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-07 15:44 bug#67694: 30.0.50; tool-bar Konrad Podczeck
2023-12-16 13:15 ` Daniel Martín via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-16 20:13   ` Alan Third [this message]
2023-12-18 16:44     ` Konrad Podczeck
2023-12-18 16:48   ` Konrad Podczeck

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=ZX4E2KbhsE2s9pEn@idiocy.org \
    --to=alan@idiocy.org \
    --cc=67694@debbugs.gnu.org \
    --cc=konrad.podczeck@univie.ac.at \
    --cc=mardani29@yahoo.es \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).