all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Rajeev N <rajeev.jnk@sivalik.com>
Cc: Lars Ingebrigtsen <larsi@gnus.org>, 48093@debbugs.gnu.org
Subject: bug#48093: 28.0.50; feature/pgtk: multiple display: clipboard
Date: Sat, 02 Jul 2022 13:05:55 +0800	[thread overview]
Message-ID: <87fsjkcde4.fsf@yahoo.com> (raw)
In-Reply-To: <878rpc7qk2.fsf@hm.sivalik.com> (Rajeev N.'s message of "Fri, 01 Jul 2022 16:20:29 +0000")

Rajeev N <rajeev.jnk@sivalik.com> writes:

> sorry, I will not be able to spend any cycles on this anytime soon. 

Then I guess this has probably been fixed by the complete selection code
rewrite, which for the most part bypasses the buggy GTK layer.

However, there is one piece of code that still worries me:

  /* GC must not happen inside this segment.  */
  block_input ();
  gtk_selection_clear_targets (FRAME_GTK_WIDGET (f), selection_atom);

  if (VECTORP (targets))
    {
      gtargets = xzalloc (sizeof *gtargets * ASIZE (targets));
      ntargets = 0;

      for (i = 0; i < ASIZE (targets); ++i)
	{
	  if (SYMBOLP (AREF (targets, i)))
	    gtargets[ntargets++].target
	      = SSDATA (SYMBOL_NAME (AREF (targets, i)));
	}

      gtk_selection_add_targets (FRAME_GTK_WIDGET (f),
				 selection_atom, gtargets,
				 ntargets);

      xfree (gtargets);
    }
  unblock_input ();

Here, the GTK API is being used to announce the selection targets, since
the corresponding GDK APIs are not public and are badly abstracted, most
of them being specific to individual GDK backends.

I tested briefly with two Wayland displays and it seems to work fine for
me, but I don't use PGTK on a daily basis and thus cannot be sure.





  reply	other threads:[~2022-07-02  5:05 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-29  0:07 bug#48093: 28.0.50; feature/pgtk: multiple display: clipboard Rajeev N via Bug reports for GNU Emacs, the Swiss army knife of text editors
2021-05-14 16:41 ` Yuuki Harano
2022-07-01 11:07 ` Lars Ingebrigtsen
2022-07-01 16:20   ` Rajeev N via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-07-02  5:05     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2022-07-02 12:02       ` Lars Ingebrigtsen

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=87fsjkcde4.fsf@yahoo.com \
    --to=bug-gnu-emacs@gnu.org \
    --cc=48093@debbugs.gnu.org \
    --cc=larsi@gnus.org \
    --cc=luangruo@yahoo.com \
    --cc=rajeev.jnk@sivalik.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.