summaryrefslogtreecommitdiff
path: root/mozilla-1631061-2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-1631061-2.patch')
-rw-r--r--mozilla-1631061-2.patch91
1 files changed, 0 insertions, 91 deletions
diff --git a/mozilla-1631061-2.patch b/mozilla-1631061-2.patch
deleted file mode 100644
index ae90baa..0000000
--- a/mozilla-1631061-2.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-changeset: 567293:4d5e5e9f146e
-tag: tip
-parent: 567291:3bdf0c33844f
-user: stransky <stransky@redhat.com>
-date: Fri Jan 29 12:13:15 2021 +0100
-files: widget/gtk/nsClipboardWayland.cpp
-description:
-Bug 1631061 [Wayland] Clear clipboard content when gtk_clipboard_request_contents() fails, r?jhorak
-
-Differential Revision: https://phabricator.services.mozilla.com/D103461
-
-
-diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp
---- a/widget/gtk/nsClipboardWayland.cpp
-+++ b/widget/gtk/nsClipboardWayland.cpp
-@@ -842,7 +842,8 @@ struct FastTrackClipboard {
-
- static void wayland_clipboard_contents_received(
- GtkClipboard* clipboard, GtkSelectionData* selection_data, gpointer data) {
-- LOGCLIP(("wayland_clipboard_contents_received() callback\n"));
-+ LOGCLIP(("wayland_clipboard_contents_received() selection_data = %p\n",
-+ selection_data));
- FastTrackClipboard* fastTrack = static_cast<FastTrackClipboard*>(data);
- fastTrack->mRetrievalContex->TransferFastTrackClipboard(
- fastTrack->mClipboardRequestNumber, selection_data);
-@@ -851,24 +852,34 @@ static void wayland_clipboard_contents_r
-
- void nsRetrievalContextWayland::TransferFastTrackClipboard(
- int aClipboardRequestNumber, GtkSelectionData* aSelectionData) {
-- LOGCLIP(("nsRetrievalContextWayland::TransferFastTrackClipboard()\n"));
-+ LOGCLIP(
-+ ("nsRetrievalContextWayland::TransferFastTrackClipboard(), "
-+ "aSelectionData = %p\n",
-+ aSelectionData));
-+
-+ int dataLength = gtk_selection_data_get_length(aSelectionData);
-+ if (dataLength < 0) {
-+ LOGCLIP(
-+ (" gtk_clipboard_request_contents() failed to get clipboard "
-+ "data!\n"));
-+ ReleaseClipboardData(mClipboardData);
-+ return;
-+ }
-
- if (mClipboardRequestNumber == aClipboardRequestNumber) {
- LOGCLIP((" request number matches\n"));
-- int dataLength = gtk_selection_data_get_length(aSelectionData);
-- if (!dataLength) {
-- LOGCLIP(
-- (" gtk_selection_data_get_length() returned 0 data length!\n"));
-- return;
-- }
- LOGCLIP((" fastracking %d bytes of data.\n", dataLength));
- mClipboardDataLength = dataLength;
-- mClipboardData = reinterpret_cast<char*>(
-- g_malloc(sizeof(char) * (mClipboardDataLength + 1)));
-- memcpy(mClipboardData, gtk_selection_data_get_data(aSelectionData),
-- sizeof(char) * mClipboardDataLength);
-- mClipboardData[mClipboardDataLength] = '\0';
-- LOGCLIP((" done, mClipboardData = %p\n", mClipboardData));
-+ if (dataLength > 0) {
-+ mClipboardData = reinterpret_cast<char*>(
-+ g_malloc(sizeof(char) * (mClipboardDataLength + 1)));
-+ memcpy(mClipboardData, gtk_selection_data_get_data(aSelectionData),
-+ sizeof(char) * mClipboardDataLength);
-+ mClipboardData[mClipboardDataLength] = '\0';
-+ LOGCLIP((" done, mClipboardData = %p\n", mClipboardData));
-+ } else {
-+ ReleaseClipboardData(mClipboardData);
-+ }
- } else {
- LOGCLIP((" request number does not match!\n"));
- NS_WARNING("Received obsoleted clipboard data!");
-@@ -952,11 +963,10 @@ void nsRetrievalContextWayland::ReleaseC
- const char* aClipboardData) {
- LOGCLIP(("nsRetrievalContextWayland::ReleaseClipboardData [%p]\n",
- aClipboardData));
--
-- NS_ASSERTION(aClipboardData == mClipboardData,
-- "Releasing unknown clipboard data!");
-- g_free((void*)aClipboardData);
--
-+ if (aClipboardData != mClipboardData) {
-+ NS_WARNING("Wayland clipboard: Releasing unknown clipboard data!");
-+ }
-+ g_free((void*)mClipboardData);
-+ mClipboardDataLength = 0;
- mClipboardData = nullptr;
-- mClipboardDataLength = 0;
- }
-
bgstack15