Hello community,
here is the log from the commit of package cinnamon-desktop for
openSUSE:Factory checked in at 2020-09-17 14:47:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-desktop (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-desktop.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-desktop"
Thu Sep 17 14:47:33 2020 rev:18 rq:834948 version:4.6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-desktop/cinnamon-desktop.changes
2020-06-11 10:14:03.920963539 +0200
+++
/work/SRC/openSUSE:Factory/.cinnamon-desktop.new.4249/cinnamon-desktop.changes
2020-09-17 14:50:44.459904709 +0200
@@ -1,0 +2,9 @@
+Sun Sep 13 19:15:59 UTC 2020 - andy great <[email protected]>
+
+- Update to version 4.6.4.
+ * gnome-rr.c: Only use nearest filtering for "pixel-exact"
+ scaling, not any whole integer scale.
+ * gnome-rr-config.c: Don't ignore disabled monitors when shifting
+ the layout towards 0,0.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-desktop-4.6.1.tar.gz
New:
----
cinnamon-desktop-4.6.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-desktop.spec ++++++
--- /var/tmp/diff_new_pack.sKr8SK/_old 2020-09-17 14:50:46.759906904 +0200
+++ /var/tmp/diff_new_pack.sKr8SK/_new 2020-09-17 14:50:46.767906912 +0200
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon-desktop
#
-# Copyright (c) 2020 SUSE LLC.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,7 +23,7 @@
%define typelib typelib-1_0-CinnamonDesktop-3_0
%define typelib_cvc typelib-1_0-Cvc-1_0
Name: cinnamon-desktop
-Version: 4.6.1
+Version: 4.6.4
Release: 0
Summary: Libcinnamon-desktop API
License: GPL-2.0-or-later AND MIT
++++++ cinnamon-desktop-4.6.1.tar.gz -> cinnamon-desktop-4.6.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-desktop-4.6.1/README
new/cinnamon-desktop-4.6.4/README
--- old/cinnamon-desktop-4.6.1/README 2020-06-06 15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/README 2020-08-11 16:32:17.000000000 +0200
@@ -20,7 +20,7 @@
meson debian/build \
--prefix=/usr/local \
- --buildtype=plain \
+ --buildtype=debug \
-D deprecated_warnings=false
2) Compile and install (sudo is needed for install)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-desktop-4.6.1/debian/changelog
new/cinnamon-desktop-4.6.4/debian/changelog
--- old/cinnamon-desktop-4.6.1/debian/changelog 2020-06-06 15:44:56.000000000
+0200
+++ new/cinnamon-desktop-4.6.4/debian/changelog 2020-08-11 16:32:17.000000000
+0200
@@ -1,3 +1,26 @@
+cinnamon-desktop (4.6.4) ulyana; urgency=medium
+
+ [ Michael Webster ]
+ * gnome-rr.c: Only use nearest filtering for "pixel-exact" scaling, not any
whole integer scale.
+ * gnome-rr-config.c: Don't ignore disabled monitors when shifting the layout
towards 0,0.
+ * rules: use buildtype=debug.
+
+ -- Clement Lefebvre <[email protected]> Tue, 11 Aug 2020 15:31:58 +0100
+
+cinnamon-desktop (4.6.3) ulyana; urgency=medium
+
+ [ Michael Webster ]
+ * gnome-rr-config.c: Fix inadvertant change.
+
+ -- Clement Lefebvre <[email protected]> Fri, 10 Jul 2020 15:36:15 +0100
+
+cinnamon-desktop (4.6.2) ulyana; urgency=medium
+
+ [ Michael Webster ]
+ * Fixes for gnome-rr scaling (#150)
+
+ -- Clement Lefebvre <[email protected]> Sun, 21 Jun 2020 13:34:38 +0100
+
cinnamon-desktop (4.6.1) ulyana; urgency=medium
[ Fabio Fantoni ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-desktop-4.6.1/debian/rules
new/cinnamon-desktop-4.6.4/debian/rules
--- old/cinnamon-desktop-4.6.1/debian/rules 2020-06-06 15:44:56.000000000
+0200
+++ new/cinnamon-desktop-4.6.4/debian/rules 2020-08-11 16:32:17.000000000
+0200
@@ -8,6 +8,7 @@
override_dh_auto_configure:
dh_auto_configure -- \
+ --buildtype=debug \
-Dpnp_ids=/usr/share/hwdata/pnp.ids \
-Ddeprecation_warnings=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-config.c
new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-config.c
--- old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-config.c
2020-06-06 15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-config.c
2020-08-11 16:32:17.000000000 +0200
@@ -46,7 +46,7 @@
#define CONFIG_BACKUP_BASENAME "cinnamon-monitors.xml.backup"
#define CONFIG_LEGACY_BASENAME "monitors.xml"
-#define BASE_SCALE_NOT_CONFIGURED -1
+#define BASE_SCALE_NOT_CONFIGURED 0
/* Look for DPI_FALLBACK in:
*
http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xsettings/gsd-xsettings-manager.c
* for the reasoning */
@@ -220,7 +220,7 @@
else if (strcmp (name, "configuration") == 0)
{
g_assert (parser->configuration == NULL);
-
+
parser->configuration = g_object_new (GNOME_TYPE_RR_CONFIG, NULL);
parser->configuration->priv->clone = FALSE;
parser->configuration->priv->outputs = NULL;
@@ -283,7 +283,7 @@
GError **err)
{
Parser *parser = user_data;
-
+
if (stack_is (parser, "vendor", "output", "configuration",
TOPLEVEL_ELEMENT, NULL))
{
parser->output->priv->connected = TRUE;
@@ -433,6 +433,32 @@
g_free (parser);
}
+static void
+check_auto_scaling (GnomeRRConfig **configs)
+{
+ GnomeRRConfig *config;
+ gint i;
+
+ if (configs == NULL)
+ {
+ return;
+ }
+
+ i = 0;
+ config = configs[i];
+
+ while (config != NULL)
+ {
+ if (config->priv->base_scale == BASE_SCALE_NOT_CONFIGURED)
+ {
+ config->priv->auto_scale = TRUE;
+ config->priv->base_scale = gnome_rr_screen_get_global_scale (NULL);
+ }
+
+ config = configs[++i];
+ }
+}
+
static GnomeRRConfig **
configurations_read_from_file (const gchar *filename, GError **error)
{
@@ -460,7 +486,7 @@
}
g_assert (parser->outputs);
-
+
g_ptr_array_add (parser->configurations, NULL);
result = (GnomeRRConfig **)g_ptr_array_free (parser->configurations,
FALSE);
parser->configurations = g_ptr_array_new ();
@@ -469,6 +495,8 @@
out:
parser_free (parser);
+ check_auto_scaling (result);
+
return result;
}
@@ -479,6 +507,7 @@
self->priv->clone = FALSE;
self->priv->base_scale = BASE_SCALE_NOT_CONFIGURED;
+ self->priv->auto_scale = FALSE;
self->priv->screen = NULL;
self->priv->outputs = NULL;
}
@@ -535,6 +564,10 @@
config->priv->clone = FALSE;
config->priv->base_scale = gnome_rr_screen_get_global_scale
(config->priv->screen);
+ if (gnome_rr_screen_get_global_scale_setting (config->priv->screen) == 0)
+ {
+ config->priv->auto_scale = TRUE;
+ }
for (i = 0; rr_outputs[i] != NULL; ++i)
{
@@ -703,56 +736,40 @@
}
static void
-ensure_scale_factor (GnomeRRConfig *current,
+ensure_scale_factor (GnomeRRConfig *config_from_file,
GnomeRROutputInfo *info_from_file)
{
/* Loading an old config for the first time, there probably won't be any
* scale factor. If this happens, give it the matching current output's
* scale factor (what actual 'is' right now) - to maintain their existing
* configuration. */
- if (info_from_file->priv->scale == 0)
- {
- int k;
+ int k;
- for (k = 0; current->priv->outputs[k] != NULL; ++k)
+ for (k = 0; config_from_file->priv->outputs[k] != NULL; ++k)
+ {
+ if (config_from_file->priv->auto_scale)
{
- gchar *current_output_name, *new_output_name;
+ info_from_file->priv->scale = (float)
config_from_file->priv->base_scale;
+ continue;
+ }
- current_output_name = current->priv->outputs[k]->priv->name;
- new_output_name = info_from_file->priv->name;
+ gchar *current_output_name, *new_output_name;
- if (g_strcmp0 (current_output_name, new_output_name) == 0)
- {
- info_from_file->priv->scale =
current->priv->outputs[k]->priv->scale;
- }
+ current_output_name = config_from_file->priv->outputs[k]->priv->name;
+ new_output_name = info_from_file->priv->name;
+
+ if (g_strcmp0 (current_output_name, new_output_name) == 0)
+ {
+ info_from_file->priv->scale =
config_from_file->priv->outputs[k]->priv->scale;
}
}
-
if (info_from_file->priv->scale == 0)
{
info_from_file->priv->scale = MINIMUM_LOGICAL_SCALE_FACTOR;
}
}
-static void
-ensure_base_scale_factor (GnomeRRConfig *matching,
- GnomeRRConfig *new)
-{
- /* Loading an old config for the first time, there probably won't be a
- * base scale factor. If this happens, give it the current system global
- * scale - to maintain their existing configuration. */
-
- if (matching->priv->base_scale == BASE_SCALE_NOT_CONFIGURED)
- {
- new->priv->base_scale = gnome_rr_screen_get_global_scale (NULL);
- }
- else
- {
- new->priv->base_scale = matching->priv->base_scale;
- }
-}
-
gboolean
gnome_rr_config_load_filename (GnomeRRConfig *result, const char *filename,
GError **error)
{
@@ -779,6 +796,8 @@
int j;
GPtrArray *array;
result->priv->clone = configs[i]->priv->clone;
+ result->priv->auto_scale = configs[i]->priv->auto_scale;
+ result->priv->base_scale = configs[i]->priv->base_scale;
array = g_ptr_array_new ();
for (j = 0; configs[i]->priv->outputs[j] != NULL; j++) {
@@ -786,13 +805,11 @@
g_object_ref (configs[i]->priv->outputs[j]);
g_ptr_array_add (array, configs[i]->priv->outputs[j]);
- ensure_scale_factor (current, configs[i]->priv->outputs[j]);
+ ensure_scale_factor (configs[i], configs[i]->priv->outputs[j]);
}
g_ptr_array_add (array, NULL);
result->priv->outputs = (GnomeRROutputInfo **) g_ptr_array_free
(array, FALSE);
- ensure_base_scale_factor (configs[i], result);
-
found = TRUE;
break;
}
@@ -1026,6 +1043,16 @@
g_return_val_if_fail (GNOME_IS_RR_CONFIG (c1), FALSE);
g_return_val_if_fail (GNOME_IS_RR_CONFIG (c2), FALSE);
+ if (c1->priv->auto_scale != c2->priv->auto_scale)
+ {
+ return FALSE;
+ }
+
+ if (c1->priv->base_scale != c2->priv->base_scale)
+ {
+ return FALSE;
+ }
+
for (i = 0; c1->priv->outputs[i] != NULL; ++i)
{
GnomeRROutputInfo *output1 = c1->priv->outputs[i];
@@ -1189,7 +1216,11 @@
g_string_append_printf (string, " <configuration>\n");
g_string_append_printf (string, " <clone>%s</clone>\n", yes_no
(config->priv->clone));
- g_string_append_printf (string, " <base_scale>%d</base_scale>\n",
config->priv->base_scale);
+
+ if (!config->priv->auto_scale)
+ {
+ g_string_append_printf (string, " <base_scale>%d</base_scale>\n",
config->priv->base_scale);
+ }
for (j = 0; config->priv->outputs[j] != NULL; ++j)
{
@@ -1221,8 +1252,13 @@
string, " <x>%d</x>\n", output->priv->x);
g_string_append_printf (
string, " <y>%d</y>\n", output->priv->y);
- g_string_append_printf (
- string, " <scale>%f</scale>\n", output->priv->scale);
+
+ if (!config->priv->auto_scale)
+ {
+ g_string_append_printf (
+ string, " <scale>%f</scale>\n", output->priv->scale);
+ }
+
g_string_append_printf (
string, " <rotation>%s</rotation>\n",
get_rotation_name (output->priv->rotation));
g_string_append_printf (
@@ -1251,26 +1287,23 @@
*/
x_offset = y_offset = G_MAXINT;
for (i = 0; config->priv->outputs[i]; ++i)
- {
- GnomeRROutputInfo *output = config->priv->outputs[i];
+ {
+ GnomeRROutputInfo *output = config->priv->outputs[i];
- if (output->priv->on)
- {
- x_offset = MIN (x_offset, output->priv->x);
- y_offset = MIN (y_offset, output->priv->y);
- }
- }
+ if (output->priv->on)
+ {
+ x_offset = MIN (x_offset, output->priv->x);
+ y_offset = MIN (y_offset, output->priv->y);
+ }
+ }
for (i = 0; config->priv->outputs[i]; ++i)
- {
- GnomeRROutputInfo *output = config->priv->outputs[i];
-
- if (output->priv->on)
- {
- output->priv->x -= x_offset;
- output->priv->y -= y_offset;
- }
- }
+ {
+ GnomeRROutputInfo *output = config->priv->outputs[i];
+
+ output->priv->x -= x_offset;
+ output->priv->y -= y_offset;
+ }
/* Only one primary, please */
found = FALSE;
@@ -1442,7 +1475,8 @@
if (result == TRUE)
{
- gnome_rr_screen_set_global_scale (screen, global_scale);
+ gnome_rr_screen_set_global_scale_setting (screen,
+ config->priv->auto_scale ? 0
: global_scale);
}
return result;
@@ -1544,6 +1578,11 @@
{
g_return_val_if_fail (GNOME_IS_RR_CONFIG (self),
MINIMUM_GLOBAL_SCALE_FACTOR);
+ if (self->priv->auto_scale)
+ {
+ return gnome_rr_screen_get_global_scale (self->priv->screen);
+ }
+
return self->priv->base_scale;
}
@@ -1555,6 +1594,24 @@
self->priv->base_scale = base_scale;
}
+
+gboolean
+gnome_rr_config_get_auto_scale (GnomeRRConfig *self)
+{
+ g_return_val_if_fail (GNOME_IS_RR_CONFIG (self), TRUE);
+
+ return self->priv->auto_scale;
+}
+
+void
+gnome_rr_config_set_auto_scale (GnomeRRConfig *self,
+ gboolean auto_scale)
+{
+ g_return_if_fail (GNOME_IS_RR_CONFIG (self));
+
+ self->priv->auto_scale = auto_scale;
+}
+
/*
* CRTC assignment
*/
@@ -2043,9 +2100,8 @@
*avg_scale = avg_screen_scale;
- g_debug ("Proposed screen size: %dx%d average scale: %.2f, ui scale: %d,
using %s",
- *width, *height, *avg_scale, *global_scale,
- gnome_rr_screen_get_use_upscaling (screen) ? "upscaling" :
"downscaling");
+ g_debug ("Proposed screen size: %dx%d average scale: %.2f, ui scale: %d",
+ *width, *height, *avg_scale, *global_scale);
g_list_free (active_crtcs);
}
@@ -2152,13 +2208,12 @@
int x, y;
if (mode)
- {
+ {
int w, h;
gnome_rr_crtc_get_position (crtc, &x, &y);
w = gnome_rr_mode_get_width (mode) * (*global_scale);
h = gnome_rr_mode_get_height (mode) * (*global_scale);
-
if (crtc_is_rotated (crtc))
{
int tmp = h;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-config.h
new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-config.h
--- old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-config.h
2020-06-06 15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-config.h
2020-08-11 16:32:17.000000000 +0200
@@ -159,6 +159,9 @@
guint gnome_rr_config_get_base_scale (GnomeRRConfig *self);
void gnome_rr_config_set_base_scale (GnomeRRConfig *self,
guint base_scale);
+gboolean gnome_rr_config_get_auto_scale (GnomeRRConfig *self);
+void gnome_rr_config_set_auto_scale (GnomeRRConfig *self,
+ gboolean auto_scale);
GnomeRROutputInfo **gnome_rr_config_get_outputs (GnomeRRConfig
*configuration);
char *gnome_rr_config_get_backup_filename (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-private.h
new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-private.h
--- old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr-private.h
2020-06-06 15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr-private.h
2020-08-11 16:32:17.000000000 +0200
@@ -6,9 +6,9 @@
#include <X11/extensions/Xrandr.h>
#define MINIMUM_LOGICAL_SCALE_FACTOR 0.74f
-#define MAXIMUM_LOGICAL_SCALE_FACTOR 4.0f
+#define MAXIMUM_LOGICAL_SCALE_FACTOR 2.0f
#define MINIMUM_GLOBAL_SCALE_FACTOR 1
-#define MAXIMUM_GLOBAL_SCALE_FACTOR 4
+#define MAXIMUM_GLOBAL_SCALE_FACTOR 2
typedef struct ScreenInfo ScreenInfo;
@@ -83,6 +83,7 @@
GnomeRRScreen *screen;
GnomeRROutputInfo **outputs;
guint base_scale;
+ gboolean auto_scale;
};
gboolean _gnome_rr_output_name_is_laptop (const char *name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr.c
new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr.c
--- old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr.c 2020-06-06
15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr.c 2020-08-11
16:32:17.000000000 +0200
@@ -357,7 +357,6 @@
GPtrArray *a;
GnomeRRCrtc **crtc;
GnomeRROutput **output;
-
info->resources = resources;
/* We create all the structures before initializing them, so
@@ -2168,17 +2167,36 @@
real_scale = global_scale / scale;
- looks_like_w = gnome_rr_mode_get_width (mode) * real_scale / global_scale;
- looks_like_h = gnome_rr_mode_get_height (mode) * real_scale / global_scale;
+ looks_like_w = 0;
+ looks_like_h = 0;
+
+ if (mode != NULL)
+ {
+ looks_like_w = gnome_rr_mode_get_width (mode) * real_scale /
global_scale;
+ looks_like_h = gnome_rr_mode_get_height (mode) * real_scale /
global_scale;
+ }
+
+ // Fractional scales use bilinear, doubling/halving can use nearest for
better quality.
+ if (real_scale == 0.5 || real_scale == 1.0)
+ {
+ filter = g_strdup ("nearest");
+ }
+ else
+ {
+ filter = g_strdup ("bilinear");
+ }
- g_debug ("\n\nTransforming based on:\n"
+ g_debug ("\n\n(xid: %lu) Transforming based on:\n"
"global ui scale: %d\n"
"requested logical scale: %.2f\n"
"requested logical size: %dx%d\n"
- "xrandr transform value: %.2f (%d)\n",
+ "xrandr transform value: %.2f (%d)\n"
+ "scaling method: %s",
+ crtc->id,
global_scale, scale,
looks_like_w, looks_like_h,
- real_scale, XDoubleToFixed (real_scale));
+ real_scale, XDoubleToFixed (real_scale),
+ filter);
XTransform transform = {{
{ XDoubleToFixed (real_scale), 0
, 0 },
@@ -2186,15 +2204,6 @@
{ 0 , 0
, XDoubleToFixed (1.0) },
}};
- if ((real_scale) != 1.0)
- {
- filter = g_strdup ("bilinear");
- }
- else
- {
- filter = g_strdup ("nearest");
- }
-
XRRSetCrtcTransform (DISPLAY (crtc), crtc->id,
&transform,
filter,
@@ -2228,21 +2237,20 @@
if (mode)
{
- if (x + mode->width > info->max_width
- || y + mode->height > info->max_height)
- {
- g_set_error (error, GNOME_RR_ERROR, GNOME_RR_ERROR_BOUNDS_ERROR,
- /* Translators: the "position", "size", and "maximum"
- * words here are not keywords; please translate them
- * as usual. A CRTC is a CRT Controller (this is X
terminology) */
- _("requested position/size for CRTC %d is outside the
allowed limit: "
- "position=(%d, %d), size=(%d, %d), maximum=(%d,
%d)"),
- (int) crtc->id,
- x, y,
- mode->width, mode->height,
- info->max_width, info->max_height);
- return FALSE;
- }
+ if (x + mode->width > info->max_width || y + mode->height >
info->max_height)
+ {
+ g_set_error (error, GNOME_RR_ERROR, GNOME_RR_ERROR_BOUNDS_ERROR,
+ /* Translators: the "position", "size", and "maximum"
+ * words here are not keywords; please translate them
+ * as usual. A CRTC is a CRT Controller (this is X
terminology) */
+ _("requested position/size for CRTC %d is outside the
allowed limit: "
+ "position=(%d, %d), size=(%d, %d), maximum=(%d, %d)"),
+ (int) crtc->id,
+ x, y,
+ mode->width, mode->height,
+ info->max_width, info->max_height);
+ return FALSE;
+ }
}
output_ids = g_array_new (FALSE, FALSE, sizeof (RROutput));
@@ -2461,22 +2469,26 @@
return (guint) CLAMP (window_scale, MINIMUM_GLOBAL_SCALE_FACTOR,
MAXIMUM_GLOBAL_SCALE_FACTOR);
}
+guint
+gnome_rr_screen_get_global_scale_setting (GnomeRRScreen *screen)
+{
+ guint scale_factor;
+
+ scale_factor = g_settings_get_uint (screen->priv->interface_settings,
+ GLOBAL_SCALE_FACTOR_KEY);
+
+ return scale_factor;
+}
+
void
-gnome_rr_screen_set_global_scale (GnomeRRScreen *screen,
- guint scale_factor)
+gnome_rr_screen_set_global_scale_setting (GnomeRRScreen *screen,
+ guint scale_factor)
{
g_settings_set_uint (screen->priv->interface_settings,
GLOBAL_SCALE_FACTOR_KEY,
scale_factor);
}
-gboolean
-gnome_rr_screen_get_use_upscaling (GnomeRRScreen *screen)
-{
- return g_settings_get_boolean (screen->priv->interface_settings,
- USE_UPSCALING_KEY);
-}
-
static float
get_crtc_scale (GnomeRRCrtc *crtc)
{
@@ -2762,8 +2774,7 @@
float scale)
{
return scale >= MINIMUM_LOGICAL_SCALE_FACTOR &&
- scale <= MAXIMUM_LOGICAL_SCALE_FACTOR &&
- is_logical_size_large_enough (floorf (width/scale), floorf
(height/scale));
+ scale <= MAXIMUM_LOGICAL_SCALE_FACTOR;
}
static float
@@ -2985,8 +2996,8 @@
}
if (width_mm > 0 && height_mm > 0) {
- dpi_x = (double) real_width * monitor_scale / (width_mm / 25.4);
- dpi_y = (double) real_height * monitor_scale / (height_mm / 25.4);
+ dpi_x = (double) real_width / (width_mm / 25.4);
+ dpi_y = (double) real_height / (height_mm / 25.4);
/* We don't completely trust these values so both must be high,
and never pick higher ratio than
2 automatically */
if (dpi_x > HIDPI_LIMIT && dpi_y > HIDPI_LIMIT)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr.h
new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr.h
--- old/cinnamon-desktop-4.6.1/libcinnamon-desktop/gnome-rr.h 2020-06-06
15:44:56.000000000 +0200
+++ new/cinnamon-desktop-4.6.4/libcinnamon-desktop/gnome-rr.h 2020-08-11
16:32:17.000000000 +0200
@@ -145,7 +145,8 @@
GnomeRRDpmsMode
mode,
GError
**error);
guint gnome_rr_screen_get_global_scale (GnomeRRScreen *screen);
-void gnome_rr_screen_set_global_scale (GnomeRRScreen *screen,
+guint gnome_rr_screen_get_global_scale_setting (GnomeRRScreen
*screen);
+void gnome_rr_screen_set_global_scale_setting (GnomeRRScreen
*screen,
guint
scale_factor);
gboolean gnome_rr_screen_get_use_upscaling (GnomeRRScreen
*screen);
float * gnome_rr_screen_calculate_supported_scales (GnomeRRScreen
*screen,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cinnamon-desktop-4.6.1/meson.build
new/cinnamon-desktop-4.6.4/meson.build
--- old/cinnamon-desktop-4.6.1/meson.build 2020-06-06 15:44:56.000000000
+0200
+++ new/cinnamon-desktop-4.6.4/meson.build 2020-08-11 16:32:17.000000000
+0200
@@ -1,7 +1,7 @@
# Meson build file
# https://github.com/linuxmint/cinnamon-desktop
-project('cinnamon-desktop', 'c', version: '4.6.1',
+project('cinnamon-desktop', 'c', version: '4.6.4',
meson_version: '>=0.41.0'
)