49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
|
diff -up gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.disconnected gtk+-2.15.4/gdk/x11/gdkscreen-x11.c
|
||
|
--- gtk+-2.15.4/gdk/x11/gdkscreen-x11.c.disconnected 2009-02-18 18:38:27.756124432 -0500
|
||
|
+++ gtk+-2.15.4/gdk/x11/gdkscreen-x11.c 2009-02-18 18:38:51.904412525 -0500
|
||
|
@@ -695,6 +695,9 @@ init_randr13 (GdkScreen *screen)
|
||
|
/* Non RandR1.2 X driver have output name "default" */
|
||
|
randr12_compat |= !g_strcmp0(output->name, "default");
|
||
|
|
||
|
+ if (output->connection == RR_Disconnected)
|
||
|
+ continue;
|
||
|
+
|
||
|
if (output->crtc)
|
||
|
{
|
||
|
GdkX11Monitor monitor;
|
||
|
@@ -705,11 +708,11 @@ init_randr13 (GdkScreen *screen)
|
||
|
monitor.geometry.width = crtc->width;
|
||
|
monitor.geometry.height = crtc->height;
|
||
|
|
||
|
- /* FIXME: fill this out properly - need EDID parser */
|
||
|
monitor.output = resources->outputs[i];
|
||
|
- monitor.width_mm = -1;
|
||
|
- monitor.height_mm = -1;
|
||
|
- monitor.output_name = NULL;
|
||
|
+ monitor.width_mm = output->mm_width;
|
||
|
+ monitor.height_mm = output->mm_height;
|
||
|
+ monitor.output_name = g_strdup (output->name);
|
||
|
+ /* FIXME: need EDID parser */
|
||
|
monitor.manufacturer = NULL;
|
||
|
|
||
|
g_array_append_val (monitors, monitor);
|
||
|
@@ -995,7 +998,8 @@ _gdk_x11_screen_size_changed (GdkScreen
|
||
|
return;
|
||
|
|
||
|
_gdk_x11_screen_process_monitors_change (screen);
|
||
|
- g_signal_emit_by_name (screen, "size_changed");
|
||
|
+
|
||
|
+ g_signal_emit_by_name (screen, "size-changed");
|
||
|
}
|
||
|
|
||
|
void
|
||
|
@@ -1003,7 +1007,7 @@ _gdk_x11_screen_process_monitors_change
|
||
|
{
|
||
|
init_multihead (screen);
|
||
|
|
||
|
- g_signal_emit_by_name (screen, "monitors_changed");
|
||
|
+ g_signal_emit_by_name (screen, "monitors-changed");
|
||
|
}
|
||
|
|
||
|
void
|