Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-connections for
openSUSE:Factory checked in at 2022-04-11 23:49:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-connections (Old)
and /work/SRC/openSUSE:Factory/.gnome-connections.new.1900 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-connections"
Mon Apr 11 23:49:18 2022 rev:7 rq:969163 version:42.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-connections/gnome-connections.changes
2022-03-23 20:19:51.166512808 +0100
+++
/work/SRC/openSUSE:Factory/.gnome-connections.new.1900/gnome-connections.changes
2022-04-11 23:50:46.194025643 +0200
@@ -1,0 +2,13 @@
+Fri Apr 8 17:17:48 UTC 2022 - Bj??rn Lie <[email protected]>
+
+- Update to version 42.1.1:
+ + Fix crash with multiple simultaneous connections.
+ + Allow for resizing and maximizing a display view.
+ + Reset credentials when authentication fails.
+ + Fix connection deletion on notification timeout.
+- Changes from version 42.1:
+ + Fixed double-free crash while connecting to RDP servers.
+ + Fixed RDP scaling and resizing issues.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gnome-connections-42.0.tar.xz
New:
----
gnome-connections-42.1.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-connections.spec ++++++
--- /var/tmp/diff_new_pack.xWl3e0/_old 2022-04-11 23:50:46.750019299 +0200
+++ /var/tmp/diff_new_pack.xWl3e0/_new 2022-04-11 23:50:46.758019209 +0200
@@ -17,7 +17,7 @@
Name: gnome-connections
-Version: 42.0
+Version: 42.1.1
Release: 0
Summary: A remote desktop client for GNOME
License: GPL-3.0-or-later
++++++ gnome-connections-42.0.tar.xz -> gnome-connections-42.1.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/NEWS
new/gnome-connections-42.1.1/NEWS
--- old/gnome-connections-42.0/NEWS 2022-03-21 12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/NEWS 2022-04-07 14:05:12.000000000 +0200
@@ -1,3 +1,24 @@
+42.1.1 - 07 Apr, 2022
+=====================
+
+Changes since 42.1
+
+ - Fix crash with multiple simultaneous connections
+ - Allow for resizing and maximizing a display view
+ - Reset credentials when authentication fails
+ - Fix connection deletion on notification timeout
+
+42.1 - 05 Apr, 2022
+=====================
+
+Changes since 42.0
+
+ - Fixed double-free crash while connecting to RDP servers
+ - Fixed RDP scaling and resizing issues
+ - Added/updated/fixed translations:
+ - German
+ - Vietnamese
+
42.0 - 21 Mar, 2022
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-connections-42.0/data/org.gnome.Connections.appdata.xml.in
new/gnome-connections-42.1.1/data/org.gnome.Connections.appdata.xml.in
--- old/gnome-connections-42.0/data/org.gnome.Connections.appdata.xml.in
2022-03-21 12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/data/org.gnome.Connections.appdata.xml.in
2022-04-07 14:05:12.000000000 +0200
@@ -32,9 +32,9 @@
</screenshot>
</screenshots>
<releases>
- <release version="42.0" date="2022-03-21">
+ <release version="42.1" date="2022-04-05">
<description>
- <p>GNOME Connections 42.0 culminates six months of feature
development, bugfixes, and performance improvements.</p>
+ <p>GNOME Connections 42.1 culminates six months of feature
development, bugfixes, and performance improvements.</p>
</description>
</release>
</releases>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/help/de/de.po
new/gnome-connections-42.1.1/help/de/de.po
--- old/gnome-connections-42.0/help/de/de.po 2022-03-21 12:29:53.000000000
+0100
+++ new/gnome-connections-42.1.1/help/de/de.po 2022-04-07 14:05:12.000000000
+0200
@@ -6,31 +6,31 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-connections master\n"
-"POT-Creation-Date: 2021-02-27 20:50+0000\n"
-"PO-Revision-Date: 2021-02-27 21:54+0100\n"
-"Last-Translator: Christian Kirbach <[email protected]>\n"
+"POT-Creation-Date: 2022-03-21 12:15+0000\n"
+"PO-Revision-Date: 2022-03-22 18:20+0100\n"
+"Last-Translator: Tim Sabsch <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.4.1\n"
+"X-Generator: Poedit 3.0.1\n"
#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
msgctxt "_"
msgid "translator-credits"
msgstr ""
-"Mario Bl??ttermann <[email protected]>, 2021.\n"
-"Christian Kirbach <[email protected]>, 2021."
+"Mario Bl??ttermann <[email protected]>, 2021\n"
+"Christian Kirbach <[email protected]>, 2021"
#. (itstool) path: credit/name
-#: C/connect.page:9 C/index.page:14
+#: C/connect.page:9 C/index.page:13
msgid "Felipe Borges"
msgstr "Felipe Borges"
#. (itstool) path: credit/years
-#: C/connect.page:11 C/index.page:16
+#: C/connect.page:11 C/index.page:15
msgid "2020"
msgstr "2020"
@@ -118,24 +118,37 @@
msgid "The remote machine will open in the collection view."
msgstr "Der ferne Rechner wird in der Kachelansicht ge??ffnet."
-#. (itstool) path: media/span
+#. (itstool) path: info/title
+#: C/index.page:7
+msgctxt "link:trail"
+msgid "Connections"
+msgstr "Verbindungen"
+
+#. (itstool) path: info/title
+#: C/index.page:8
+msgctxt "link"
+msgid "Connections"
+msgstr "Verbindungen"
+
+#. (itstool) path: info/title
#: C/index.page:9
+msgctxt "text"
msgid "Connections"
msgstr "Verbindungen"
#. (itstool) path: info/desc
-#: C/index.page:21
+#: C/index.page:20
msgid "Learn to connect to remote machines."
msgstr ""
"Erfahren Sie, wie Sie Verbindungen zu fernen Rechnern herstellen k??nnen."
#. (itstool) path: page/title
-#: C/index.page:24
+#: C/index.page:23
msgid "<_:media-1/> Connections"
msgstr "<_:media-1/> Verbindungen"
#. (itstool) path: page/p
-#: C/index.page:29
+#: C/index.page:28
msgid ""
"<app>Connections</app> is a remote desktop client for the GNOME desktop "
"environment."
@@ -144,7 +157,7 @@
"Verbindungen zu fernen Rechnern."
#. (itstool) path: section/title
-#: C/index.page:32
+#: C/index.page:31
msgid "Getting started"
msgstr "Erste Schritte"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/meson.build
new/gnome-connections-42.1.1/meson.build
--- old/gnome-connections-42.0/meson.build 2022-03-21 12:29:53.000000000
+0100
+++ new/gnome-connections-42.1.1/meson.build 2022-04-07 14:05:12.000000000
+0200
@@ -1,5 +1,5 @@
project('gnome-connections', ['c', 'vala'],
- version: '42.0',
+ version: '42.1.1',
meson_version: '>= 0.50.0',
default_options: [ 'warning_level=2',
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/po/nl.po
new/gnome-connections-42.1.1/po/nl.po
--- old/gnome-connections-42.0/po/nl.po 2022-03-21 12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/po/nl.po 2022-04-07 14:05:12.000000000
+0200
@@ -1,14 +1,14 @@
# Dutch translation for gnome-connections.
# Copyright (C) 2021 gnome-connections's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-connections
package.
-# Nathan Follens <[email protected]>, 2021.
+# Nathan Follens <[email protected]>, 2021-2022.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-connections gnome-40\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/connections/issues\n"
-"POT-Creation-Date: 2021-08-26 10:01+0000\n"
-"PO-Revision-Date: 2021-09-02 15:41+0200\n"
+"POT-Creation-Date: 2022-03-21 12:15+0000\n"
+"PO-Revision-Date: 2022-03-25 14:04+0100\n"
"Last-Translator: Nathan Follens <[email protected]>\n"
"Language-Team: Dutch <[email protected]>\n"
"Language: nl\n"
@@ -16,11 +16,11 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.0\n"
+"X-Generator: Poedit 3.0.1\n"
#: data/org.gnome.Connections.appdata.xml.in:7
#: data/org.gnome.Connections.desktop.in:3 src/application.vala:92
-#: src/ui/topbar.ui:9
+#: src/ui/topbar.ui:9 src/ui/window.ui:5 src/window.vala:106
msgid "Connections"
msgstr "Verbindingen"
@@ -54,11 +54,11 @@
"Connections uses the widely supported VNC and RDP protocols, and one of "
"these must be enabled on the desktop that you want to connect to."
msgstr ""
-"Verbindingen maakt gebruik van de goed ondersteunde VNC- en RDP-"
-"protocollen. E??n van deze protocollen moet ingeschakeld zijn op het "
-"bureaublad waarmee u verbinding wilt maken."
+"Verbindingen maakt gebruik van de goed ondersteunde VNC- en RDP-protocollen. "
+"E??n van deze protocollen moet ingeschakeld zijn op het bureaublad waarmee u "
+"verbinding wilt maken."
-#: data/org.gnome.Connections.appdata.xml.in:34
+#: data/org.gnome.Connections.appdata.xml.in:43
msgid "The GNOME Project"
msgstr "Het Gnome-project"
@@ -83,65 +83,65 @@
#: src/application.vala:88
msgid "translator-credits"
msgstr ""
-"Nathan Follens\n"
+"Nathan Follens <[email protected]>\n"
"\n"
"Meer info over Gnome-NL http://nl.gnome.org"
-#: src/application.vala:89 src/application.vala:239
+#: src/application.vala:89 src/application.vala:242
msgid "A remote desktop client for the GNOME desktop environment"
msgstr "Een externbureaubladcli??nt voor de Gnome-bureaubladomgeving"
-#: src/application.vala:150
+#: src/application.vala:151
#, c-format
msgid "Couldn???t open file of unknown mime type %s"
msgstr "Kon bestand met onbekend MIME-type %s niet openen"
-#: src/application.vala:179
+#: src/application.vala:182
#, c-format
msgid "Connection to ???%s??? has been deleted"
msgstr "Verbinding met ???%s??? is verwijderd"
-#: src/application.vala:182
+#: src/application.vala:185
msgid "Undo"
msgstr "Ongedaan maken"
-#: src/application.vala:229
+#: src/application.vala:232
msgid "URL to connect"
msgstr "URL om mee te verbinden"
-#: src/application.vala:230
+#: src/application.vala:233
msgid "Open .vnc or .rdp file at the given PATH"
msgstr ".vnc- of .rdp-bestand openen op gegeven PAD"
-#: src/application.vala:231
+#: src/application.vala:234
msgid "Open in full screen"
msgstr "In volledig scherm openen"
-#: src/application.vala:254
+#: src/application.vala:257
msgid "Too many command-line arguments specified.\n"
msgstr "Te veel argumenten opgegeven voor de opdracht.\n"
#. Translators: %s => the timestamp of when the screenshot was taken.
-#: src/connection.vala:64
+#: src/connection.vala:70
#, c-format
msgid "Screenshot from %s"
msgstr "Schermafdruk van %s"
-#: src/connection.vala:79
+#: src/connection.vala:85
msgid "Screenshot taken"
msgstr "Schermafdruk gemaakt"
#. Translators: Open is a verb
-#: src/connection.vala:82
+#: src/connection.vala:88
msgid "Open"
msgstr "Openen"
-#: src/connection.vala:127
+#: src/connection.vala:161
#, c-format
msgid "???%s??? requires authentication"
msgstr "???%s??? vereist authenticatie"
-#: src/connection.vala:146
+#: src/connection.vala:200
#, c-format
msgid "Authentication failed: %s"
msgstr "Aanmelding mislukt: %s"
@@ -152,11 +152,11 @@
msgid "%d??%d"
msgstr "%d??%d"
-#: src/onboarding-dialog.vala:88 src/ui/onboarding-dialog.ui:147
+#: src/onboarding-dialog.vala:86 src/ui/onboarding-dialog.ui:147
msgid "No Thanks"
msgstr "Nee, bedankt"
-#: src/onboarding-dialog.vala:88
+#: src/onboarding-dialog.vala:86
msgid "Close"
msgstr "Sluiten"
@@ -182,15 +182,15 @@
msgid "RDP (standard for connecting to Windows)"
msgstr "RDP (standaard om te verbinden met Windows)"
-#: src/ui/assistant.ui:71
+#: src/ui/assistant.ui:72
msgid "VNC (standard for connecting to Linux)"
msgstr "VNC (standaard om te verbinden met Linux)"
-#: src/ui/assistant.ui:88 src/ui/topbar.ui:201
+#: src/ui/assistant.ui:90 src/ui/topbar.ui:201
msgid "Help"
msgstr "Hulp"
-#: src/ui/assistant.ui:98
+#: src/ui/assistant.ui:100
msgid "Connect"
msgstr "Verbinden"
@@ -206,14 +206,10 @@
msgid "Sign In"
msgstr "Aanmelden"
-#: src/ui/empty-view.ui:28 src/ui/onboarding-dialog.ui:41
+#: src/ui/onboarding-dialog.ui:41 src/ui/window.ui:52
msgid "Welcome to Connections"
msgstr "Welkom bij Verbindingen"
-#: src/ui/empty-view.ui:41
-msgid "Just hit the <b>+</b> button to make your first connection."
-msgstr "Klik gewoon op de <b>+</b>-knop om uw eerste verbinding te maken."
-
#: src/ui/onboarding-dialog.ui:42
msgid "Learn about how Connections works."
msgstr "Kom meer te weten over hoe Verbindingen werkt."
@@ -263,11 +259,11 @@
msgid "Connection preferences"
msgstr "Verbindingsvoorkeuren"
-#: src/ui/rdp-preferences.ui:23 src/ui/vnc-preferences.ui:23
+#: src/ui/rdp-preferences.ui:22 src/ui/vnc-preferences.ui:22
msgid "Address"
msgstr "Adres"
-#: src/ui/rdp-preferences.ui:38 src/ui/vnc-preferences.ui:38
+#: src/ui/rdp-preferences.ui:37 src/ui/vnc-preferences.ui:37
msgid "Name"
msgstr "Naam"
@@ -331,53 +327,61 @@
msgid "Ctrl + Alt + F7"
msgstr "Ctrl + Alt + F7"
-#: src/ui/vnc-preferences.ui:55
+#: src/ui/vnc-preferences.ui:54
msgid "Display"
msgstr "Weergave"
-#: src/ui/vnc-preferences.ui:60
+#: src/ui/vnc-preferences.ui:59
msgid "Scaling"
msgstr "Schalen"
-#: src/ui/vnc-preferences.ui:67
+#: src/ui/vnc-preferences.ui:66
msgid "View only"
msgstr "Alleen bekijken"
-#: src/ui/vnc-preferences.ui:74
+#: src/ui/vnc-preferences.ui:73
msgid "Show local pointer"
msgstr "Lokale pointer weergeven"
-#: src/ui/vnc-preferences.ui:82
+#: src/ui/vnc-preferences.ui:80
+msgid "Enable audio"
+msgstr "Geluid inschakelen"
+
+#: src/ui/vnc-preferences.ui:88
msgid "Bandwidth"
msgstr "Bandbreedte"
-#: src/ui/vnc-preferences.ui:89
+#: src/ui/vnc-preferences.ui:95
msgid "High quality"
msgstr "Hoge kwaliteit"
-#: src/ui/vnc-preferences.ui:90
+#: src/ui/vnc-preferences.ui:96
msgid "Fast refresh"
msgstr "Snel verversen"
-#: src/ui/vnc-preferences.ui:101
+#: src/ui/vnc-preferences.ui:107
msgid "Scale mode"
msgstr "Schaalmodus"
-#: src/ui/vnc-preferences.ui:108
+#: src/ui/vnc-preferences.ui:114
msgid "Fit window"
msgstr "Aanpassen aan venster"
-#: src/ui/vnc-preferences.ui:109
+#: src/ui/vnc-preferences.ui:115
msgid "Original size"
msgstr "Oorspronkelijke grootte"
-#: src/vnc-connection.vala:123
+#: src/ui/window.ui:53
+msgid "Just hit the <b>+</b> button to make your first connection."
+msgstr "Klik gewoon op de <b>+</b>-knop om uw eerste verbinding te maken."
+
+#: src/vnc-connection.vala:148
msgid "Couldn???t parse the file"
msgstr "Kon bestand niet verwerken"
#. Translators: %s is a VNC file key
-#: src/vnc-connection.vala:131 src/vnc-connection.vala:136
-#: src/vnc-connection.vala:141 src/vnc-connection.vala:146
+#: src/vnc-connection.vala:156 src/vnc-connection.vala:161
+#: src/vnc-connection.vala:166 src/vnc-connection.vala:171
#, c-format
msgid "VNC File is missing key ???%s???"
msgstr "Sleutel ???%s??? ontbreekt in VNC-bestand"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/po/vi.po
new/gnome-connections-42.1.1/po/vi.po
--- old/gnome-connections-42.0/po/vi.po 2022-03-21 12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/po/vi.po 2022-04-07 14:05:12.000000000
+0200
@@ -1,26 +1,26 @@
# Vietnamese translation for connections.
# Copyright (C) 2021 connections's COPYRIGHT HOLDER
# This file is distributed under the same license as the connections package.
-# Ng???c Qu??n Tr???n <[email protected]>, 2021.
+# Ng???c Qu??n Tr???n <[email protected]>, 2021-2022.
#
msgid ""
msgstr ""
"Project-Id-Version: connections master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/connections/issues\n"
-"POT-Creation-Date: 2021-09-22 15:32+0000\n"
-"PO-Revision-Date: 2021-09-23 13:53+0700\n"
+"POT-Creation-Date: 2022-03-25 13:05+0000\n"
+"PO-Revision-Date: 2022-04-02 14:44+0700\n"
+"Last-Translator: Tr???n Ng???c Qu??n <[email protected]>\n"
"Language-Team: Vietnamese <[email protected]>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"Last-Translator: Tr???n Ng???c Qu??n <[email protected]>\n"
"X-Generator: Gtranslator 3.38.0\n"
#: data/org.gnome.Connections.appdata.xml.in:7
#: data/org.gnome.Connections.desktop.in:3 src/application.vala:92
-#: src/ui/topbar.ui:9 src/window.vala:108
+#: src/ui/topbar.ui:9 src/ui/window.ui:5 src/window.vala:106
msgid "Connections"
msgstr "K???t n???i"
@@ -35,18 +35,18 @@
"system. It can also be used as a way to provide support to users who might "
"need help."
msgstr ""
-"K???t n???i cho ph??p b???n k???t n???i v?? s??? d???ng c??c m??y t??nh ?????
b??n kh??c. ????y c?? "
-"th??? l?? m???t c??ch tuy???t v???i ????? truy c???p n???i dung ho???c ph???n
m???m tr??n m???t h??? "
-"??i???u h??nh m??y t??nh ????? b??n kh??c. N?? c??ng c?? th??? ???????c s???
d???ng nh?? m???t c??ch ????? "
-"cung c???p h??? tr??? cho nh???ng ng?????i d??ng c?? th??? c???n gi??p ?????."
+"K???t n???i cho ph??p b???n k???t n???i v?? s??? d???ng c??c m??y t??nh ?????
b??n kh??c. ????y c?? th??? "
+"l?? m???t c??ch tuy???t v???i ????? truy c???p n???i dung ho???c ph???n m???m
tr??n m???t h??? ??i???u "
+"h??nh m??y t??nh ????? b??n kh??c. N?? c??ng c?? th??? ???????c s??? d???ng
nh?? m???t c??ch ????? cung "
+"c???p h??? tr??? cho nh???ng ng?????i d??ng c?? th??? c???n gi??p ?????."
#: data/org.gnome.Connections.appdata.xml.in:13
msgid ""
"A range of different operating systems can be connected to, including Linux "
"and Windows desktops. You can also connect to virtual machines."
msgstr ""
-"M???t lo???t c??c h??? ??i???u h??nh kh??c nhau c?? th??? ???????c k???t
n???i, bao g???m c??? m??y "
-"t??nh ????? b??n Linux v?? Windows. B???n c??ng c?? th??? k???t n???i v???i
c??c m??y ???o."
+"M???t lo???t c??c h??? ??i???u h??nh kh??c nhau c?? th??? ???????c k???t
n???i, bao g???m c??? m??y t??nh "
+"????? b??n Linux v?? Windows. B???n c??ng c?? th??? k???t n???i v???i c??c
m??y ???o."
#: data/org.gnome.Connections.appdata.xml.in:16
msgid ""
@@ -56,7 +56,7 @@
"K???t n???i s??? d???ng c??c giao th???c VNC v?? RDP ???????c h??? tr???
r???ng r??i v?? m???t trong "
"s??? n??y ph???i ???????c b???t tr??n m??y t??nh ????? b??n m?? b???n mu???n
k???t n???i."
-#: data/org.gnome.Connections.appdata.xml.in:34
+#: data/org.gnome.Connections.appdata.xml.in:43
msgid "The GNOME Project"
msgstr "D??? ??n GNOME"
@@ -80,65 +80,65 @@
msgid "translator-credits"
msgstr "Nh??m Vi???t h??a Gnome <[email protected]>"
-#: src/application.vala:89 src/application.vala:239
+#: src/application.vala:89 src/application.vala:242
msgid "A remote desktop client for the GNOME desktop environment"
msgstr ""
"M???t ch????ng tr??nh ??i???u khi???n m??n h??nh t??? xa cho m??i tr?????ng
m??y t??nh ????? b??n "
"GNOME"
-#: src/application.vala:150
+#: src/application.vala:151
#, c-format
msgid "Couldn???t open file of unknown mime type %s"
msgstr "Kh??ng th??? m??? t???p tin c???a ki???u mime ch??a bi???t %s"
-#: src/application.vala:179
+#: src/application.vala:182
#, c-format
msgid "Connection to ???%s??? has been deleted"
msgstr "K???t n???i ?????n ???%s??? ???? b??? x??a b???"
-#: src/application.vala:182
+#: src/application.vala:185
msgid "Undo"
msgstr "H???i l???i"
-#: src/application.vala:229
+#: src/application.vala:232
msgid "URL to connect"
msgstr "URL ????? k???t n???i"
-#: src/application.vala:230
+#: src/application.vala:233
msgid "Open .vnc or .rdp file at the given PATH"
msgstr "M??? t???p tin .vnc ho???c .rdp ??? /???????NG/D???N/ ???? cho"
-#: src/application.vala:231
+#: src/application.vala:234
msgid "Open in full screen"
msgstr "M??? to??n m??n h??nh"
-#: src/application.vala:254
+#: src/application.vala:257
msgid "Too many command-line arguments specified.\n"
msgstr ""
"Qu?? nhi???u ?????i s??? d??ng l???nh ???????c ????a ra.\n"
"\n"
#. Translators: %s => the timestamp of when the screenshot was taken.
-#: src/connection.vala:64
+#: src/connection.vala:70
#, c-format
msgid "Screenshot from %s"
msgstr "H??nh ch???p v??o %s"
-#: src/connection.vala:79
+#: src/connection.vala:85
msgid "Screenshot taken"
msgstr "Ch???p m??n h??nh"
#. Translators: Open is a verb
-#: src/connection.vala:82
+#: src/connection.vala:88
msgid "Open"
msgstr "M???"
-#: src/connection.vala:127
+#: src/connection.vala:161
#, c-format
msgid "???%s??? requires authentication"
msgstr "???%s??? c???n x??c th???c"
-#: src/connection.vala:146
+#: src/connection.vala:200
#, c-format
msgid "Authentication failed: %s"
msgstr "G???p l???i khi x??c th???c: %s"
@@ -149,11 +149,11 @@
msgid "%d??%d"
msgstr "%d??%d"
-#: src/onboarding-dialog.vala:88 src/ui/onboarding-dialog.ui:147
+#: src/onboarding-dialog.vala:86 src/ui/onboarding-dialog.ui:147
msgid "No Thanks"
msgstr "Kh??ng, c???m ??n"
-#: src/onboarding-dialog.vala:88
+#: src/onboarding-dialog.vala:86
msgid "Close"
msgstr "????ng"
@@ -177,15 +177,15 @@
msgid "RDP (standard for connecting to Windows)"
msgstr "RDP (ti??u chu???n ????? k???t n???i ?????n Windows)"
-#: src/ui/assistant.ui:71
+#: src/ui/assistant.ui:72
msgid "VNC (standard for connecting to Linux)"
msgstr "VNC (ti??u chu???n ????? k???t n???i ?????n Linux)"
-#: src/ui/assistant.ui:88 src/ui/topbar.ui:201
+#: src/ui/assistant.ui:90 src/ui/topbar.ui:201
msgid "Help"
msgstr "Xem tr??? gi??p"
-#: src/ui/assistant.ui:98
+#: src/ui/assistant.ui:100
msgid "Connect"
msgstr "K???t n???i"
@@ -201,14 +201,10 @@
msgid "Sign In"
msgstr "????ng nh???p"
-#: src/ui/empty-view.ui:28 src/ui/onboarding-dialog.ui:41
+#: src/ui/onboarding-dialog.ui:41 src/ui/window.ui:52
msgid "Welcome to Connections"
msgstr "Ch??o m???ng b???n d??ng \"K???t n???i\""
-#: src/ui/empty-view.ui:41
-msgid "Just hit the <b>+</b> button to make your first connection."
-msgstr "Ch??? c???n b???m v??o n??t <b>+</b> ????? t???o k???t n???i ?????u
ti??n."
-
#: src/ui/onboarding-dialog.ui:42
msgid "Learn about how Connections works."
msgstr "T??m hi???u v??? c??ch ho???t ?????ng c???a \"K???t n???i\"."
@@ -258,11 +254,11 @@
msgid "Connection preferences"
msgstr "T??y th??ch k???t n???i"
-#: src/ui/rdp-preferences.ui:23 src/ui/vnc-preferences.ui:23
+#: src/ui/rdp-preferences.ui:22 src/ui/vnc-preferences.ui:22
msgid "Address"
msgstr "?????a ch???"
-#: src/ui/rdp-preferences.ui:38 src/ui/vnc-preferences.ui:38
+#: src/ui/rdp-preferences.ui:37 src/ui/vnc-preferences.ui:37
msgid "Name"
msgstr "T??n"
@@ -326,53 +322,61 @@
msgid "Ctrl + Alt + F7"
msgstr "Ctrl + Alt + F7"
-#: src/ui/vnc-preferences.ui:55
+#: src/ui/vnc-preferences.ui:54
msgid "Display"
msgstr "Hi???n th???"
-#: src/ui/vnc-preferences.ui:60
+#: src/ui/vnc-preferences.ui:59
msgid "Scaling"
msgstr "T??? l???"
-#: src/ui/vnc-preferences.ui:67
+#: src/ui/vnc-preferences.ui:66
msgid "View only"
msgstr "Ch??? xem"
-#: src/ui/vnc-preferences.ui:74
+#: src/ui/vnc-preferences.ui:73
msgid "Show local pointer"
msgstr "Hi???n th??? con tr??? c???c b???"
-#: src/ui/vnc-preferences.ui:82
+#: src/ui/vnc-preferences.ui:80
+msgid "Enable audio"
+msgstr "B???t ??m thanh"
+
+#: src/ui/vnc-preferences.ui:88
msgid "Bandwidth"
msgstr "B??ng th??ng"
-#: src/ui/vnc-preferences.ui:89
+#: src/ui/vnc-preferences.ui:95
msgid "High quality"
msgstr "Ch???t l?????ng cao"
-#: src/ui/vnc-preferences.ui:90
+#: src/ui/vnc-preferences.ui:96
msgid "Fast refresh"
msgstr "L??m m???i nhanh"
-#: src/ui/vnc-preferences.ui:101
+#: src/ui/vnc-preferences.ui:107
msgid "Scale mode"
msgstr "Ch??? ????? co gi??n"
-#: src/ui/vnc-preferences.ui:108
+#: src/ui/vnc-preferences.ui:114
msgid "Fit window"
msgstr "V???a kh??t c???a s???"
-#: src/ui/vnc-preferences.ui:109
+#: src/ui/vnc-preferences.ui:115
msgid "Original size"
msgstr "K??ch c??? g???c"
-#: src/vnc-connection.vala:123
+#: src/ui/window.ui:53
+msgid "Just hit the <b>+</b> button to make your first connection."
+msgstr "Ch??? c???n b???m v??o n??t <b>+</b> ????? t???o k???t n???i ?????u
ti??n."
+
+#: src/vnc-connection.vala:148
msgid "Couldn???t parse the file"
msgstr "Kh??ng th??? ph??n t??ch c?? ph??p t???p tin"
#. Translators: %s is a VNC file key
-#: src/vnc-connection.vala:131 src/vnc-connection.vala:136
-#: src/vnc-connection.vala:141 src/vnc-connection.vala:146
+#: src/vnc-connection.vala:156 src/vnc-connection.vala:161
+#: src/vnc-connection.vala:166 src/vnc-connection.vala:171
#, c-format
msgid "VNC File is missing key ???%s???"
msgstr "T???p tin VNC thi???u kh??a ???%s???"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/notifications.vala
new/gnome-connections-42.1.1/src/notifications.vala
--- old/gnome-connections-42.0/src/notifications.vala 2022-03-21
12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/src/notifications.vala 2022-04-07
14:05:12.000000000 +0200
@@ -31,14 +31,12 @@
}
set {
- var child = get_child ();
- if (child != null)
- remove (child);
-
- if (value != null)
- add (value);
+ if (_active_notification != null) {
+ remove (_active_notification);
+ }
_active_notification = value;
+ add (_active_notification);
}
}
@@ -125,7 +123,7 @@
notification_timeout_id = Timeout.add_seconds (timeout, () => {
notification_timeout_id = 0;
- dismissed ();
+ dismiss ();
return Source.REMOVE;
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/rdp-connection.vala
new/gnome-connections-42.1.1/src/rdp-connection.vala
--- old/gnome-connections-42.0/src/rdp-connection.vala 2022-03-21
12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/src/rdp-connection.vala 2022-04-07
14:05:12.000000000 +0200
@@ -51,11 +51,14 @@
public override bool scaling {
set {
- //display.set_scaling (value);
+ display.set_scaling (value);
}
get {
- return true;
+ if (!connected)
+ return true;
+
+ return display.scaling;
}
}
@@ -63,10 +66,11 @@
construct {
display = new FrdpDisplay ();
+ display.hexpand = display.vexpand = true;
display.bind_property ("username", this, "username",
BindingFlags.BIDIRECTIONAL);
display.bind_property ("password", this, "password",
BindingFlags.BIDIRECTIONAL);
- display.rdp_error.connect (on_connection_error_cb);
+ display.rdp_error.connect (on_rdp_connection_error_cb);
display.rdp_connected.connect (() => { show (); });
//display.rdp_needs_authentication.connect
(on_rdp_auth_credential_cb);
display.rdp_auth_failure.connect (auth_failed);
@@ -105,6 +109,9 @@
display.open_host (host, port);
connected = true;
+ scaling = true;
+
+ display.grab_focus ();
}
public override void disconnect_it () {
@@ -124,6 +131,15 @@
handle_auth ();
}
+
+ private void on_rdp_connection_error_cb (string reason) {
+ disconnect_it ();
+
+ delete_auth_credentials.begin ();
+ username = password = null;
+
+ on_connection_error_cb (reason);
+ }
}
private class FrdpDisplay : Frdp.Display {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-connections-42.0/src/rdp-preferences-window.vala
new/gnome-connections-42.1.1/src/rdp-preferences-window.vala
--- old/gnome-connections-42.0/src/rdp-preferences-window.vala 2022-03-21
12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/src/rdp-preferences-window.vala
2022-04-07 14:05:12.000000000 +0200
@@ -26,12 +26,15 @@
private unowned Gtk.Entry connection_name_entry;
[GtkChild]
private unowned Gtk.Label host_address_label;
+ [GtkChild]
+ private unowned BooleanProperty scaling;
public RdpPreferencesWindow (Connection connection) {
this.connection = connection;
bind_widget_property (connection_name_entry, "text",
"display_name");
bind_widget_property (host_address_label, "label", "uri");
+ bind_widget_property (scaling, "active", "scaling");
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/ui/display-view.ui
new/gnome-connections-42.1.1/src/ui/display-view.ui
--- old/gnome-connections-42.0/src/ui/display-view.ui 2022-03-21
12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/src/ui/display-view.ui 2022-04-07
14:05:12.000000000 +0200
@@ -63,12 +63,12 @@
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
+ <property name="min-content-width">980</property>
+ <property name="min-content-height">640</property>
<child>
<object class="GtkEventBox" id="event_box">
<property name="visible">True</property>
<property name="above-child">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
<signal name="event" handler="on_event_box_event"/>
</object>
</child>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/ui/rdp-preferences.ui
new/gnome-connections-42.1.1/src/ui/rdp-preferences.ui
--- old/gnome-connections-42.0/src/ui/rdp-preferences.ui 2022-03-21
12:29:53.000000000 +0100
+++ new/gnome-connections-42.1.1/src/ui/rdp-preferences.ui 2022-04-07
14:05:12.000000000 +0200
@@ -44,6 +44,13 @@
</child>
</object>
</child>
+
+ <child>
+ <object class="ConnectionsBooleanProperty" id="scaling">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Scaling</property>
+ </object>
+ </child>
</object>
</child>
</object>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/ui/window.ui
new/gnome-connections-42.1.1/src/ui/window.ui
--- old/gnome-connections-42.0/src/ui/window.ui 2022-03-21 12:29:53.000000000
+0100
+++ new/gnome-connections-42.1.1/src/ui/window.ui 2022-04-07
14:05:12.000000000 +0200
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.20"/>
- <template class="ConnectionsWindow" parent="HdyApplicationWindow">
+ <template class="ConnectionsWindow" parent="GtkApplicationWindow">
<property name="title" translatable="yes">Connections</property>
- <property name="default-width">980</property>
- <property name="default-height">640</property>
+ <property name="resizable">True</property>
<signal name="key-press-event" after="yes" handler="on_key_pressed"/>
<signal name="delete-event" handler="on_delete_event"/>
+ <child type="titlebar">
+ <object class="ConnectionsTopbar" id="topbar">
+ <property name="visible">True</property>
+ </object>
+ </child>
+
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="orientation">vertical</property>
- <child>
- <object class="ConnectionsTopbar" id="topbar">
- <property name="visible">True</property>
- </object>
- </child>
<child>
<object class="GtkSearchBar" id="search_bar">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gnome-connections-42.0/src/window.vala
new/gnome-connections-42.1.1/src/window.vala
--- old/gnome-connections-42.0/src/window.vala 2022-03-21 12:29:53.000000000
+0100
+++ new/gnome-connections-42.1.1/src/window.vala 2022-04-07
14:05:12.000000000 +0200
@@ -21,7 +21,7 @@
namespace Connections {
[GtkTemplate (ui = "/org/gnome/Connections/ui/window.ui")]
- private class Window : Hdy.ApplicationWindow {
+ private class Window : Gtk.ApplicationWindow {
[GtkChild]
private unowned Topbar topbar;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-connections-42.0/subprojects/gtk-frdp/src/frdp-display.c
new/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-display.c
--- old/gnome-connections-42.0/subprojects/gtk-frdp/src/frdp-display.c
2021-10-28 22:05:44.000000000 +0200
+++ new/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-display.c
2022-04-07 12:43:38.000000000 +0200
@@ -516,9 +516,6 @@
gtk_widget_set_halign (GTK_WIDGET (display), GTK_ALIGN_FILL);
gtk_widget_set_valign (GTK_WIDGET (display), GTK_ALIGN_FILL);
- } else {
- gtk_widget_set_halign (GTK_WIDGET (display), GTK_ALIGN_CENTER);
- gtk_widget_set_valign (GTK_WIDGET (display), GTK_ALIGN_CENTER);
}
gtk_widget_queue_draw_area (GTK_WIDGET (display), 0, 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gnome-connections-42.0/subprojects/gtk-frdp/src/frdp-session.c
new/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.c
--- old/gnome-connections-42.0/subprojects/gtk-frdp/src/frdp-session.c
2021-10-28 22:05:44.000000000 +0200
+++ new/gnome-connections-42.1.1/subprojects/gtk-frdp/src/frdp-session.c
2022-04-07 12:43:38.000000000 +0200
@@ -42,8 +42,10 @@
GtkWidget *display;
cairo_surface_t *surface;
+ cairo_format_t cairo_format;
gboolean scaling;
- double scale;
+ double scale_x;
+ double scale_y;
double offset_x;
double offset_y;
@@ -125,23 +127,22 @@
cursor = gdk_cursor_new_from_name (display, "default");
else {
rdpPointer *pointer = &priv->cursor->pointer;
- double scale = self->priv->scale;
- double x = priv->cursor->pointer.xPos * scale;
- double y = priv->cursor->pointer.yPos * scale;
- double w = pointer->width * scale;
- double h = pointer->height * scale;
+ double x = priv->cursor->pointer.xPos * priv->scale_x;
+ double y = priv->cursor->pointer.yPos * priv->scale_y;
+ double w = pointer->width * priv->scale_x;
+ double h = pointer->height * priv->scale_y;
cairo_surface_t *surface;
cairo_t *cairo;
if (!self->priv->scaling) {
- scale = 1.0;
+ self->priv->scale_x = self->priv->scale_y = 1.0;
}
/* Scale the source image according to current settings. */
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h);
cairo = cairo_create (surface);
- cairo_scale(cairo, scale, scale);
+ cairo_scale(cairo, self->priv->scale_x, self->priv->scale_y);
cairo_set_source_surface (cairo, priv->cursor->data, 0, 0);
cairo_paint (cairo);
@@ -154,133 +155,6 @@
gdk_window_set_cursor (window, cursor);
}
-static BOOL
-frdp_Pointer_New(rdpContext* context, rdpPointer* pointer)
-{
- frdpContext *fcontext = (frdpContext*) context;
- frdpPointer *fpointer = (frdpPointer*) pointer;
- int stride;
- unsigned char *data;
- cairo_surface_t *surface;
-
- if (!fcontext || !fpointer)
- return FALSE;
-
- surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, pointer->width,
- pointer->height);
- if (!surface) {
- return FALSE;
- }
-
- { /* FreeRDP BUG https://github.com/FreeRDP/FreeRDP/issues/5061
- * the function freerdp_image_copy_from_pointer_data
- * does not initialize the buffer which results in broken alpha data. */
- cairo_t* cairo = cairo_create (surface);
-
- cairo_set_source_rgba (cairo, 0.0, 0.0, 0.0, 1.0);
- cairo_fill (cairo);
- cairo_paint (cairo);
- cairo_destroy (cairo);
- }
-
- data = cairo_image_surface_get_data (surface);
- if (!data) {
- goto fail;
- }
-
- stride = cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32, pointer->width);
- if (!freerdp_image_copy_from_pointer_data (data, PIXEL_FORMAT_BGRA32,
- stride, 0, 0, pointer->width,
- pointer->height,
- pointer->xorMaskData,
- pointer->lengthXorMask,
- pointer->andMaskData,
- pointer->lengthAndMask,
- pointer->xorBpp,
- &context->gdi->palette))
- goto fail;
-
- fpointer->data = surface;
- return TRUE;
-fail:
- if (surface)
- cairo_surface_destroy (surface);
- return FALSE;
-}
-
-static void
-frdp_Pointer_Free (rdpContext* context, rdpPointer* pointer)
-{
- frdpPointer *fpointer = (frdpPointer*) pointer;
-
- if (fpointer && fpointer->data) {
- cairo_surface_destroy (fpointer->data);
- fpointer->data = NULL;
- }
-}
-
-static BOOL
-frdp_Pointer_Set (rdpContext* context,
- const rdpPointer* pointer)
-{
- frdpContext *fcontext = (frdpContext*) context;
- frdpPointer *fpointer = (frdpPointer*) pointer;
- FrdpSessionPrivate *priv = fcontext->self->priv;
-
- priv->cursor = fpointer;
- priv->cursor_null = FALSE;
-
- frdp_session_update_mouse_pointer (fcontext->self);
- return TRUE;
-}
-
-static BOOL
-frdp_Pointer_SetNull (rdpContext* context)
-{
- frdpContext *fcontext = (frdpContext*) context;
- FrdpSessionPrivate *priv = fcontext->self->priv;
-
- priv->cursor = NULL;
- priv->cursor_null = TRUE;
-
- frdp_session_update_mouse_pointer (fcontext->self);
-
- return TRUE;
-}
-
-static BOOL
-frdp_Pointer_SetDefault (rdpContext* context)
-{
- frdpContext *fcontext = (frdpContext*) context;
- FrdpSessionPrivate *priv = fcontext->self->priv;
-
- priv->cursor = NULL;
- priv->cursor_null = FALSE;
- frdp_session_update_mouse_pointer (fcontext->self);
- return TRUE;
-}
-
-static BOOL
-frdp_Pointer_SetPosition (rdpContext* context, UINT32 x, UINT32 y)
-{
- return TRUE;
-}
-
-static void
-frdp_register_pointer (rdpGraphics* graphics)
-{
- rdpPointer pointer;
-
- pointer.size = sizeof(frdpPointer);
- pointer.New = frdp_Pointer_New;
- pointer.Free = frdp_Pointer_Free;
- pointer.Set = frdp_Pointer_Set;
- pointer.SetNull = frdp_Pointer_SetNull;
- pointer.SetDefault = frdp_Pointer_SetDefault;
- pointer.SetPosition = frdp_Pointer_SetPosition;
- graphics_register_pointer(graphics, &pointer);
-}
-
static guint32
frdp_session_get_best_color_depth (FrdpSession *self)
{
@@ -294,30 +168,75 @@
}
static void
+create_cairo_surface (FrdpSession *self)
+{
+ FrdpSessionPrivate *priv = self->priv;
+ rdpSettings *settings;
+ rdpGdi *gdi;
+ gint stride;
+
+ if (priv->surface != NULL) {
+ cairo_surface_mark_dirty (priv->surface);
+ cairo_surface_destroy (priv->surface);
+ self->priv->surface = NULL;
+ }
+
+ gdi = priv->freerdp_session->context->gdi;
+ settings = priv->freerdp_session->context->settings;
+ gdi_resize (gdi, settings->DesktopWidth, settings->DesktopHeight);
+
+ gtk_widget_set_size_request (priv->display,
+ settings->DesktopWidth,
+ settings->DesktopHeight);
+ stride = cairo_format_stride_for_width (priv->cairo_format, gdi->width);
+ self->priv->surface =
+ cairo_image_surface_create_for_data ((unsigned char*)
gdi->primary_buffer,
+ priv->cairo_format,
+ gdi->width,
+ gdi->height,
+ stride);
+ cairo_surface_flush (priv->surface);
+}
+
+static void
frdp_session_configure_event (GtkWidget *widget,
GdkEvent *event,
gpointer user_data)
{
FrdpSession *self = (FrdpSession*) user_data;
- rdpSettings *settings = self->priv->freerdp_session->settings;
+ FrdpSessionPrivate *priv = self->priv;
+ GtkScrolledWindow *scrolled;
+ rdpSettings *settings;
+ rdpGdi *gdi;
double width, height;
- if (self->priv->scaling) {
- width = (double)gtk_widget_get_allocated_width (widget);
- height = (double)gtk_widget_get_allocated_height (widget);
+ if (priv->freerdp_session == NULL)
+ return;
- if (width < height)
- self->priv->scale = width / settings->DesktopWidth;
- else
- self->priv->scale = height / settings->DesktopHeight;
+ gdi = priv->freerdp_session->context->gdi;
+ if (priv->surface == NULL) {
+ create_cairo_surface (self);
+ }
- settings->DesktopScaleFactor = self->priv->scale;
+ scrolled = gtk_widget_get_ancestor (widget, GTK_TYPE_SCROLLED_WINDOW);
+ width = (double)gtk_widget_get_allocated_width (scrolled);
+ height = (double)gtk_widget_get_allocated_height (scrolled);
- self->priv->offset_x = (width - settings->DesktopWidth *
self->priv->scale) / 2.0;
- self->priv->offset_y = (height - settings->DesktopHeight *
self->priv->scale) / 2.0;
- }
+ if (priv->freerdp_session->settings == NULL)
+ return;
+ settings = priv->freerdp_session->settings;
+
+ if (priv->scaling) {
+ priv->scale_x = width / settings->DesktopWidth;
+ priv->scale_y = height / settings->DesktopHeight;
+
+ priv->offset_x = (width - settings->DesktopWidth * priv->scale_x) / 2.0;
+ priv->offset_y = (height - settings->DesktopHeight * priv->scale_y) / 2.0;
- frdp_session_update_mouse_pointer (self);
+ gtk_widget_set_size_request (priv->display, settings->DesktopWidth,
settings->DesktopHeight);
+ } else {
+ gtk_widget_set_size_request (priv->display, gdi->width, gdi->height);
+ }
}
static void
@@ -325,8 +244,6 @@
gboolean scaling)
{
self->priv->scaling = scaling;
-
- frdp_session_configure_event (self->priv->display, NULL, self);
}
static gboolean
@@ -336,13 +253,22 @@
{
FrdpSession *self = (FrdpSession*) user_data;
+ // Nothing to draw if disconnected
+ if (!self->priv->is_connected)
+ return FALSE;
+
+ create_cairo_surface (self);
+
if (self->priv->scaling) {
cairo_translate (cr, self->priv->offset_x, self->priv->offset_y);
- cairo_scale (cr, self->priv->scale, self->priv->scale);
+ cairo_scale (cr, self->priv->scale_x, self->priv->scale_y);
}
+
cairo_set_source_surface (cr, self->priv->surface, 0, 0);
cairo_paint (cr);
+ frdp_display_set_scaling (self->priv->display, self->priv->scaling);
+
return TRUE;
}
@@ -389,6 +315,13 @@
static gboolean
frdp_pre_connect (freerdp *freerdp_session)
{
+ rdpSettings *settings;
+
+ settings = freerdp_session->context->settings;
+
+ settings->RemoteFxCodec = TRUE;
+ settings->ColorDepth = 32;
+
return TRUE;
}
@@ -423,13 +356,13 @@
priv = self->priv;
if (priv->scaling) {
- pos_x = self->priv->offset_x + x * priv->scale;
- pos_y = self->priv->offset_y + y * priv->scale;
+ pos_x = self->priv->offset_x + x * priv->scale_x;
+ pos_y = self->priv->offset_y + y * priv->scale_y;
gtk_widget_queue_draw_area (priv->display,
floor (pos_x),
floor (pos_y),
- ceil (pos_x + w * priv->scale) - floor
(pos_x),
- ceil (pos_y + h * priv->scale) - floor
(pos_y));
+ ceil (pos_x + w * priv->scale_x) - floor
(pos_x),
+ ceil (pos_y + h * priv->scale_y) - floor
(pos_y));
} else {
gtk_widget_queue_draw_area (priv->display, x, y, w, h);
}
@@ -441,53 +374,33 @@
frdp_post_connect (freerdp *freerdp_session)
{
FrdpSession *self = ((frdpContext *) freerdp_session->context)->self;
- cairo_format_t cairo_format;
- rdpGdi *gdi;
guint32 color_format;
- gint stride;
switch (frdp_session_get_best_color_depth (self)) {
case 32:
color_format = PIXEL_FORMAT_BGRA32;
- cairo_format = CAIRO_FORMAT_ARGB32;
+ self->priv->cairo_format = CAIRO_FORMAT_ARGB32;
break;
case 24:
color_format = PIXEL_FORMAT_BGRX32;
- cairo_format = CAIRO_FORMAT_RGB24;
+ self->priv->cairo_format = CAIRO_FORMAT_RGB24;
break;
case 16:
case 15:
color_format = PIXEL_FORMAT_BGR16;
- cairo_format = CAIRO_FORMAT_RGB16_565;
+ self->priv->cairo_format = CAIRO_FORMAT_RGB16_565;
break;
default:
color_format = PIXEL_FORMAT_BGRX32;
- cairo_format = CAIRO_FORMAT_RGB16_565;
+ self->priv->cairo_format = CAIRO_FORMAT_RGB16_565;
break;
}
gdi_init (freerdp_session, color_format);
- gdi = freerdp_session->context->gdi;
- frdp_register_pointer (freerdp_session->context->graphics);
- pointer_cache_register_callbacks(freerdp_session->context->update);
freerdp_session->update->BeginPaint = frdp_begin_paint;
freerdp_session->update->EndPaint = frdp_end_paint;
- stride = cairo_format_stride_for_width (cairo_format, gdi->width);
- self->priv->surface =
- cairo_image_surface_create_for_data ((unsigned char*)
gdi->primary_buffer,
- cairo_format,
- gdi->width,
- gdi->height,
- stride);
-
- gtk_widget_queue_draw_area (self->priv->display,
- 0,
- 0,
- gdi->width,
- gdi->height);
-
return TRUE;
}
@@ -505,14 +418,9 @@
if (self->priv->freerdp_session != NULL) {
freerdp_disconnect (self->priv->freerdp_session);
- freerdp_context_free (self->priv->freerdp_session);
g_clear_pointer (&self->priv->freerdp_session, freerdp_free);
}
- g_clear_pointer (&self->priv->hostname, g_free);
- g_clear_pointer (&self->priv->username, g_free);
- g_clear_pointer (&self->priv->password, g_free);
-
g_signal_emit (self, signals[RDP_DISCONNECTED], 0);
g_debug ("RDP client disconnected");
@@ -544,8 +452,11 @@
return FALSE;
if (!freerdp_check_event_handles (priv->freerdp_session->context)) {
+ if (freerdp_get_last_error(priv->freerdp_session->context) ==
FREERDP_ERROR_SUCCESS) {
g_warning ("Failed to check FreeRDP file descriptor");
- return FALSE;
+ }
+
+ return TRUE;
}
if (freerdp_shall_disconnect (priv->freerdp_session)) {
@@ -595,6 +506,11 @@
settings->UseRdpSecurityLayer = FALSE;
settings->NegotiateSecurityLayer = TRUE;
+
+ settings->DesktopResize = TRUE;
+ settings->DynamicResolutionUpdate = TRUE;
+ settings->SupportDisplayControl = TRUE;
+ settings->RedirectClipboard = FALSE;
}
static void
@@ -624,6 +540,7 @@
case FREERDP_ERROR_CONNECT_TRANSPORT_FAILED:
case ERRCONNECT_CONNECT_TRANSPORT_FAILED:
case FREERDP_ERROR_TLS_CONNECT_FAILED:
+ case FREERDP_ERROR_DNS_NAME_NOT_FOUND:
g_signal_emit (self,
signals[RDP_AUTH_FAILURE], 0,
freerdp_get_last_error_string (error_code));
@@ -648,11 +565,12 @@
return;
}
+ gtk_widget_realize (self->priv->display);
+ create_cairo_surface (self);
g_signal_connect (self->priv->display, "draw",
G_CALLBACK (frdp_session_draw), self);
g_signal_connect (self->priv->display, "configure-event",
G_CALLBACK (frdp_session_configure_event), self);
- frdp_session_set_scaling (self, TRUE);
self->priv->update_id = g_idle_add ((GSourceFunc) update, self);
@@ -932,8 +850,8 @@
input = priv->freerdp_session->input;
if (priv->scaling) {
- x = (x - priv->offset_x) / priv->scale;
- y = (y - priv->offset_y) / priv->scale;
+ x = (x - priv->offset_x) / priv->scale_x;
+ y = (y - priv->offset_y) / priv->scale_y;
}
x = x < 0.0 ? 0.0 : x;