<?xml version="1.0" ?>
<rss version="2.0">
  <channel>
    <title>Flyspray::</title>
    <lastBuildDate>Fri, 14 Aug 2026 11:15:49 +0000</lastBuildDate>
    <description>Flyspray::QCAD Bugtracker: Recently closed tasks</description>
    <link>https://www.ribbonsoft.com/bugtracker/</link>
        <item>
      <title>FS#2740: System reverts to &quot;Custom&quot; Printing Page size rather than taking ANSI-A (Letter) or other Named size</title>
      <author>Steven Guttag</author>
      <pubDate>Wed, 12 Aug 2026 19:50:04 +0000</pubDate>
      <description><![CDATA[
<p>
I&#039;ve noted that on my (relatively) new Mac Mini (M4), when I open my drawings, it yells at me when I open a block about using a &quot;Custom&quot; paper size.  it should be &quot;A&quot; size (US-Letter).  When I try to set it to ANSI-A (Letter), even after saving, it reverts to &quot;Custom&quot; (though the dimensions remain correct (8.5&quot;x11&quot;)<br />
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2740</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2740</guid>
    </item>
        <item>
      <title>FS#2564: REllipse::getVectorTo(p) returns a vector to a major point when p is on the major axis</title>
      <author>CVH</author>
      <pubDate>Tue, 23 Apr 2024 21:37:47 +0000</pubDate>
      <description><![CDATA[
<p>
Andrew,
</p>

<p>
If a given point p is on the major axis then REllipse::getVectorTo(p) returns one of the major points. In the code this is handled as a special case when the point is in-line (collinear) with the major axis. <br />This is only correct for points outside the evolute.
</p>

<p>
On the major axis is defined by getAngle().<br />This may fail for a magnitude equal to or less than 1e-6.<br />A point that close to the center should not have a single solution at zero degrees.
</p>

<p>
The correct solutions are:<br />- If p is equal to the center ⇒ <strong>Two</strong> vectors to the two minor points.<br />- On the major axis and strictly inside the evolute ⇒ <strong>Two</strong> mirrored vectors.<br />- On the major axis and on or outside the evolute ⇒ The nearest major point.<br />- On the minor axis ⇒ The nearest minor point.
</p>

<p>
 An additional problem is now what to return on a duality with full ellipses.<br />Or for an ellipse arc where both of two results are valid.<br />getVectorTo() typically returns but one unique result.
</p>

<p>
For example: <br />RCircle::getVectorTo(p) returns an invalid vector when the point is near the center.<br />Then there are an unlimited number of solutions. 
</p>
<hr />
<hr />

<p>
Further discovered that the point related to the returned vector may fail x²/a²+y²/b²=1<br />Although almost on the ellipse within 2.299e-10 … f(x,y) may return 9.5310<br />This example would fail REllipse::contains while the border is considered as inside.
</p>

<p>
Meanwhile implemented a &#039;simple method&#039; to find the nearest point(s) on an ellipse.<br />Fast converging in 3 steps, no trigs and very accurate, about 24 lines of code.<br />f(x,y) returns mostly 1.000 with so far:<br />- a minimum of 0.9999999999999997 <br />- a maximum of 1.0000000000000007.<br />In other words, it is only off for the last meaningful decimal digit.
</p>

<p>
With this all methods that are based on REllipse::getVectorTo(p) can be implemented very reliable with tolerance, border flag, … and so on.<br />By default the normal for a point is given with high accuracy and a tangent is that rotated.<br />… ..<br />.
</p>

<p>
Regards,<br />CVH 
</p>
<pre class="code"></pre>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2564</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2564</guid>
    </item>
        <item>
      <title>FS#2739: High CPU usage under Gnome with Text Size other than 100%</title>
      <author>Andrew</author>
      <pubDate>Sat, 08 Aug 2026 19:16:21 +0000</pubDate>
      <description><![CDATA[
<p>
See also:<br /><a href="https://forum.qcad.org/t/high-cpu-when-idle-with-no-diagram-loaded-on-linux-wayland/11895" class="urlextern" title="https://forum.qcad.org/t/high-cpu-when-idle-with-no-diagram-loaded-on-linux-wayland/11895"  rel="nofollow">https://forum.qcad.org/t/high-cpu-when-idle-with-no-diagram-loaded-on-linux-wayland/11895</a> 
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2739</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2739</guid>
    </item>
        <item>
      <title>FS#2738: Block &gt; Edit block in place: After editing the block, the block reference has draw order 0</title>
      <author>Andrew</author>
      <pubDate>Mon, 03 Aug 2026 19:54:10 +0000</pubDate>
      <description><![CDATA[
<p>
See also:<br /><a href="https://forum.qcad.org/t/after-editing-a-block-in-place-the-block-loses-its-display-order-in-the-main-drawing/11918" class="urlextern" title="https://forum.qcad.org/t/after-editing-a-block-in-place-the-block-loses-its-display-order-in-the-main-drawing/11918"  rel="nofollow">https://forum.qcad.org/t/after-editing-a-block-in-place-the-block-loses-its-display-order-in-the-main-drawing/11918</a> 
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2738</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2738</guid>
    </item>
        <item>
      <title>FS#2737: System reverts to &quot;Custom&quot; Printing Page size rather than taking ANSI-A (Letter) or other Named size</title>
      <author>Steven Guttag</author>
      <pubDate>Mon, 03 Aug 2026 15:49:23 +0000</pubDate>
      <description><![CDATA[
<p>
This may be unique to the ARM version but I&#039;ve noted that with each drawing I open, it flags that I am using a &quot;Custom&quot; page size.  My default Printing-Page is ANSI-A (US-Letter).  I can save that (Application Preferences)…close the program…open it up and while the page dimensions remain correct, the program still reports it as a &quot;Custom&quot; size.  
</p>

<p>
I see a similar behavior from the Drawing Preferences, with respect to Printing - Page. 
</p>

<p>
I didn&#039;t start noticing this behavior until I changed my computer to an M4 based Mac Mini running Tahoe.  With that change, I started using the ARM based version of QCAD.  So, I&#039;m wondering if the problem is ARM based rather than on other operating systems, including Intel based Macs, like my previous one. 
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2737</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2737</guid>
    </item>
        <item>
      <title>FS#2734: Concerning: Commit 2b1838b</title>
      <author>CVH</author>
      <pubDate>Wed, 22 Jul 2026 04:59:47 +0000</pubDate>
      <description><![CDATA[
<p>
RCircle.getVectorTo was modded to avoid the sqrt() in getMagnitude() and used v.getSquaredMagnitude().<br />Then comparing that with the square of the default tolerance (1e-18).<br />Part of Commit d233495
</p>

<p>
In RCircle::getDistanceTo<br />getDistanceTo2D is based on getMagnitude2D().<br /><strong>This should be compared with RS.PointTolerance (1e-9)</strong>, not squared (1e-18).
</p>

<p>
! ! !<br />Only true in an arbitrary (unlimited) precision.<br />The method using the magnitude or the squared magnitude cannot be compared in floating point.<br />The squared magnitude will hardly ever have a meaningful 18th digit after the comma.<br />As it is the subtraction of the vector components with no more than 17 significant digits.
</p>

<p>
A method missing here is RVector::getSquaredMagnitude2D() avoiding + 0.0*0.0 for dz² 
</p>
<hr />
<hr />

<p>
 Here you use a circular tolerance area in 2D: Less than 1e-9 away in any 2D direction.<br />Or a spherical tolerance in 3D.
</p>

<p>
Positions are typically compared using an axis aligned square shape as tolerance range in 2D (RVector::equalsFuzzy2D) or a cubic box in 3D (RVector::equalsFuzzy): <br />Less than 1e-9 to 1.414214e-9 away in any 2D direction<br />Or less than 1e-9 to 1.732051e-9 away in 3D.<br />40 to 70% more tolerant depending 2 or 3D and the direction.
</p>

<p>
 Regards,<br />CVH
</p>

<p>
PS:<br />I can start a comment on GitHub like before but that is no longer accepting inputs.<br />
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2734</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2734</guid>
    </item>
        <item>
      <title>FS#2736: REllipse::correctMajorMinor() calls itself one more time, switchMajorMinor() calls it twice</title>
      <author>CVH</author>
      <pubDate>Thu, 30 Jul 2026 04:33:50 +0000</pubDate>
      <description><![CDATA[
<p>
Andrew,
</p>

<p>
Claude included major/minor swapping in <strong>REllipse::getVectorTo()</strong>.<br />This is an existent resource and already used in most cases.<br />I never encountered a major radius less than the minor but it is plausible.
</p>

<p>
For a ratio over 1.0, <strong>correctMajorMinor()</strong> caches the minor point (Line 1205).<br />Sets a corrected ratio (Line 1206).<br />And then it sets the major point using <strong>REllipse::setMajorPoint()</strong> (Line 1207). 
</p>
<blockquote><div class="no">
<blockquote><div class="no">
 <strong>setMajorPoint()</strong> calls <strong>REllipse::correctMajorMinor()</strong> again.<br />This time the ratio is less than 1.0 and nothing is altered.</div></blockquote>
</div></blockquote>

<p>
 Because <strong>correctMajorMinor()</strong> is setting things straight it can simply update<br />the public attributes: &#039;ratio&#039;, &#039;majorPoint&#039;, &#039;startParam&#039; and &#039;endParam&#039; in this order.
</p>

<p>
<strong>correctMajorMinor()</strong> is typically called for:<br />- The valid REllipse constructor.<br />- When setting the REllipse major point, the ratio<br />and thus also when setting the minor point.<br />- When setting the properties of an REllipseEntity. 
</p>
<hr />

<p>
There is a second analog to <strong>REllipse::correctMajorMinor()</strong>.
</p>

<p>
The method <strong>REllipse::switchMajorMinor()</strong> does practically the same but then based on an external test.<br />In open source only used in <strong>RShape::getIntersectionPointsEE</strong> (Line 1275 and 1279).<br />Then called when the major radius is less than the minor radius.
</p>

<p>
The main difference is that it is skipped when the ratio is less than 1e-9.<br />fabs(ratio) in line 314 is odd because a negative ratio is invalid … Not rendered. 
</p>
<blockquote><div class="no">
<blockquote><div class="no">
<strong>switchMajorMinor()</strong> triggers <strong>correctMajorMinor()</strong> twice.</div></blockquote>
</div></blockquote>

<p>
 It first set the major point equal to the minor point based on the former ratio.<br />This triggers <strong>correctMajorMinor()</strong>.<br />Then it sets the reciprocal of the ratio.<br />This also triggers <strong>correctMajorMinor()</strong>.
</p>

<p>
<strong>switchMajorMinor()</strong> can also update the public attributes in direct. 
</p>
<hr />

<p>
For the record: <strong>REllipse::getTangents</strong> also swaps major/minor in direct when the point is on the minor axis. This method handles an ellipse as full and doesn&#039;t correct end parameters.
</p>

<p>
Regards,<br />CVH
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2736</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2736</guid>
    </item>
        <item>
      <title>FS#2735: File &gt; Open: Frozen layer states from viewports are not loaded for empty layers</title>
      <author>Andrew</author>
      <pubDate>Wed, 29 Jul 2026 17:10:50 +0000</pubDate>
      <description><![CDATA[
<p>
1. Freeze an empty layer in a viewport<br />2. Save<br />3. Reopen
</p>

<p>
Layer is not frozen.
</p>

<p>
See also:<br /><a href="https://forum.qcad.org/t/manage-viewport-layers-not-persisting-save-and-reopen/11902" class="urlextern" title="https://forum.qcad.org/t/manage-viewport-layers-not-persisting-save-and-reopen/11902"  rel="nofollow">https://forum.qcad.org/t/manage-viewport-layers-not-persisting-save-and-reopen/11902</a> 
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2735</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2735</guid>
    </item>
        <item>
      <title>FS#2733: Transparent black or white entities lose transparency with color correction</title>
      <author>Andrew</author>
      <pubDate>Wed, 01 Jul 2026 09:37:31 +0000</pubDate>
      <description><![CDATA[
<p>
Color correction strips the alpha channel.
</p>

<p>
See:<br /><a href="https://forum.qcad.org/t/qcad-shading-of-hatches/11828" class="urlextern" title="https://forum.qcad.org/t/qcad-shading-of-hatches/11828"  rel="nofollow">https://forum.qcad.org/t/qcad-shading-of-hatches/11828</a> 
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2733</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2733</guid>
    </item>
        <item>
      <title>FS#2719: Moiré Effect with QT6 on Linux when Display Scaling is &gt; 100%</title>
      <author>Alex Holden</author>
      <pubDate>Sun, 03 May 2026 14:02:45 +0000</pubDate>
      <description><![CDATA[
<p>
I have noticed a problem that causes ugly rendering when using the QT6 version of 3.32.7 on KDE/XWayland if my system display scaling is set higher than 100%. The problem does not occur with QT5.
</p>

<p>
Attached screenshots were taken using QT5 and QT6 for comparison (both at 125% scaling). Antialiasing was turned off. Note how the grid dots fade in and out like a moiré pattern.
</p>
]]></description>
      <link>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2719</link>
      <guid>https://www.ribbonsoft.com/bugtracker/index.php?do=details&amp;task_id=2719</guid>
    </item>
      </channel>
</rss>
