some xrandr fixes
svn path=/trunk/; revision=22370
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2009-02-18 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gdk/x11/gdkscreen-x11.c (init_randr13): Ignore disconnected outputs,
|
||||||
|
and fill in name and physical dimensions.
|
||||||
|
|
||||||
2009-02-18 Sven Neumann <sven@gimp.org>
|
2009-02-18 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
Bug 533456 – Memory leak when window is destroyed
|
Bug 533456 – Memory leak when window is destroyed
|
||||||
|
@ -695,6 +695,9 @@ init_randr13 (GdkScreen *screen)
|
|||||||
/* Non RandR1.2 X driver have output name "default" */
|
/* Non RandR1.2 X driver have output name "default" */
|
||||||
randr12_compat |= !g_strcmp0(output->name, "default");
|
randr12_compat |= !g_strcmp0(output->name, "default");
|
||||||
|
|
||||||
|
if (output->connection == RR_Disconnected)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (output->crtc)
|
if (output->crtc)
|
||||||
{
|
{
|
||||||
GdkX11Monitor monitor;
|
GdkX11Monitor monitor;
|
||||||
@ -705,11 +708,11 @@ init_randr13 (GdkScreen *screen)
|
|||||||
monitor.geometry.width = crtc->width;
|
monitor.geometry.width = crtc->width;
|
||||||
monitor.geometry.height = crtc->height;
|
monitor.geometry.height = crtc->height;
|
||||||
|
|
||||||
/* FIXME: fill this out properly - need EDID parser */
|
|
||||||
monitor.output = resources->outputs[i];
|
monitor.output = resources->outputs[i];
|
||||||
monitor.width_mm = -1;
|
monitor.width_mm = output->mm_width;
|
||||||
monitor.height_mm = -1;
|
monitor.height_mm = output->mm_height;
|
||||||
monitor.output_name = NULL;
|
monitor.output_name = g_strdup (output->name);
|
||||||
|
/* FIXME: need EDID parser */
|
||||||
monitor.manufacturer = NULL;
|
monitor.manufacturer = NULL;
|
||||||
|
|
||||||
g_array_append_val (monitors, monitor);
|
g_array_append_val (monitors, monitor);
|
||||||
@ -995,7 +998,8 @@ _gdk_x11_screen_size_changed (GdkScreen *screen,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
_gdk_x11_screen_process_monitors_change (screen);
|
_gdk_x11_screen_process_monitors_change (screen);
|
||||||
g_signal_emit_by_name (screen, "size_changed");
|
|
||||||
|
g_signal_emit_by_name (screen, "size-changed");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1003,7 +1007,7 @@ _gdk_x11_screen_process_monitors_change (GdkScreen *screen)
|
|||||||
{
|
{
|
||||||
init_multihead (screen);
|
init_multihead (screen);
|
||||||
|
|
||||||
g_signal_emit_by_name (screen, "monitors_changed");
|
g_signal_emit_by_name (screen, "monitors-changed");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user