[Xfce4-commits] [xfce/xfce4-settings] 01/01: Fix: xfsettingsd resets TV mode to NULL on power cycle (Xfce #11107), thanks to patch by jkampe68

noreply at xfce.org noreply at xfce.org
Fri Aug 12 02:29:34 CEST 2016


This is an automated email from the git hooks/post-receive script.

bluesabre pushed a commit to branch master
in repository xfce/xfce4-settings.

commit 2233f20a7ec6d7cb7dcc5752d62d98e37d9c21ad
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Thu Aug 11 20:29:27 2016 -0400

    Fix: xfsettingsd resets TV mode to NULL on power cycle (Xfce #11107), thanks to patch by jkampe68
---
 xfsettingsd/displays.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/xfsettingsd/displays.c b/xfsettingsd/displays.c
index 095e323..af70256 100644
--- a/xfsettingsd/displays.c
+++ b/xfsettingsd/displays.c
@@ -415,6 +415,7 @@ xfce_displays_helper_screen_on_event (GdkXEvent *xevent,
     XfceRROutput       *output, *o;
     XEvent             *e = xevent;
     gint                event_num;
+    gint                j;
     guint               n, m, nactive = 0;
     gboolean            found = FALSE, changed = FALSE;
 
@@ -496,9 +497,37 @@ xfce_displays_helper_screen_on_event (GdkXEvent *xevent,
                 {
                     xfsettings_dbg (XFSD_DEBUG_DISPLAYS, "New output connected: %s",
                                     output->info->name);
+                    /* need to enable crtc for output ? */
+                    if (output->info->crtc == None)
+                    {
+                        xfsettings_dbg (XFSD_DEBUG_DISPLAYS, "enabling crtc for %s", output->info->name);
+                        crtc = xfce_displays_helper_find_usable_crtc (helper, output);
+                        if (crtc)
+                        {
+                            crtc->mode = output->preferred_mode;
+                            crtc->rotation = RR_Rotate_0;
+                            crtc->x = crtc->y = 0;
+                            /* set width and height */
+                            for (j = 0; j < helper->resources->nmode; ++j)
+                            {
+                                if (helper->resources->modes[j].id == output->preferred_mode)
+                                {
+                                    crtc->width = helper->resources->modes[j].width;
+                                    crtc->height = helper->resources->modes[j].height;
+                                    break;
+                                }
+                            }
+                            xfce_displays_helper_set_outputs (crtc, output);
+                            crtc->changed = TRUE;
+                        }
+                    }
+
                     changed = TRUE;
                 }
             }
+            if (changed)
+                xfce_displays_helper_apply_all (helper);
+
             /* Start the minimal dialog according to the user preferences */
             if (changed && xfconf_channel_get_bool (helper->channel, NOTIFY_PROP, FALSE))
                 xfce_spawn_command_line_on_screen (NULL, "xfce4-display-settings -m", FALSE,

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list