Merge lp:~muktupavels/compiz/lp1530277 into lp:compiz/0.9.13

Proposed by Alberts Muktupāvels
Status: Merged
Approved by: Marco Trevisan (Treviño)
Approved revision: 4106
Merged at revision: 4109
Proposed branch: lp:~muktupavels/compiz/lp1530277
Merge into: lp:compiz/0.9.13
Diff against target: 39 lines (+11/-0)
2 files modified
gtk/window-decorator/decorator.c (+10/-0)
gtk/window-decorator/gwd-theme-metacity.c (+1/-0)
To merge this branch: bzr merge lp:~muktupavels/compiz/lp1530277
Reviewer Review Type Date Requested Status
Marco Trevisan (Treviño) Approve
Review via email: mp+321647@code.launchpad.net

Commit message

Ensure that surfaces used by metacity theme have device scale set to 1 (LP: #1530277).

Description of the change

Font size with current metacity versions will be still incorrect, but that can be "fixed" by using GDK_DPI_SCALE. At least now decorations are drawn correctly.

Full fix will require libmetacity 3.26 were new API has been added to control scale and font size.

To post a comment you must log in.
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

Since we verified this doesn't break GDK_SCALE, we're ok.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'gtk/window-decorator/decorator.c'
--- gtk/window-decorator/decorator.c 2016-09-01 17:48:01 +0000
+++ gtk/window-decorator/decorator.c 2017-04-02 17:51:16 +0000
@@ -27,6 +27,10 @@
27#include "gwd-settings.h"27#include "gwd-settings.h"
28#include "gwd-theme-cairo.h"28#include "gwd-theme-cairo.h"
2929
30#ifdef USE_METACITY
31#include "gwd-theme-metacity.h"
32#endif
33
30static void34static void
31draw_window_decoration (decor_t *decor)35draw_window_decoration (decor_t *decor)
32{36{
@@ -543,6 +547,12 @@
543547
544 buffer_surface = create_surface (d->width, d->height, style_window);548 buffer_surface = create_surface (d->width, d->height, style_window);
545549
550#ifdef USE_METACITY
551 if (GWD_IS_THEME_METACITY (gwd_theme)) {
552 cairo_surface_set_device_scale (buffer_surface, 1, 1);
553 }
554#endif
555
546 gdk_flush ();556 gdk_flush ();
547557
548 /* Handle failure */558 /* Handle failure */
549559
=== modified file 'gtk/window-decorator/gwd-theme-metacity.c'
--- gtk/window-decorator/gwd-theme-metacity.c 2016-10-26 18:31:22 +0000
+++ gtk/window-decorator/gwd-theme-metacity.c 2017-04-02 17:51:16 +0000
@@ -879,6 +879,7 @@
879 cairo_destroy (cr);879 cairo_destroy (cr);
880880
881 surface = create_surface (fgeom.width, fgeom.height, style_window);881 surface = create_surface (fgeom.width, fgeom.height, style_window);
882 cairo_surface_set_device_scale (surface, 1, 1);
882 cr = cairo_create (surface);883 cr = cairo_create (surface);
883884
884 src = XRenderCreatePicture (xdisplay, cairo_xlib_surface_get_drawable (surface),885 src = XRenderCreatePicture (xdisplay, cairo_xlib_surface_get_drawable (surface),

Subscribers

People subscribed via source and target branches