and it seems it still has the same problem. The interesting thing about this is that the patch is now so small that it shows the remaining problem (other virtual monitors automatically turned on) is not a bug in my patch but is a pre-existing bug somewhere.
Looking at this again, I'm now testing an even smaller patch (named vv6):
@@ -92,6 +92,9 @@ calculate_ xrandr_ refresh_ rate (XRRModeIn
float h_total;
float v_total;
+ if (xmode->hTotal == 0 || xmode->vTotal == 0)
+ return 0.0f;
+
h_total = (float) xmode->hTotal;
v_total = (float) xmode->vTotal;
and it seems it still has the same problem. The interesting thing about this is that the patch is now so small that it shows the remaining problem (other virtual monitors automatically turned on) is not a bug in my patch but is a pre-existing bug somewhere.