<?xml version="1.0" ?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel rdf:about="https://www.qcad.io/bugtracker/">
    <title>Flyspray::</title>
    <link>https://www.qcad.io/bugtracker/</link>
    <description>Flyspray::QCAD Bugtracker: Recently edited tasks</description>
    <dc:date>2026-09-01T06:43:19Z</dc:date>
    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2747" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2746" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2745" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2744" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2743" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2742" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2741" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2740" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2564" />
                <rdf:li rdf:resource="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2739" />
              </rdf:Seq>
    </items>
    		
  </channel>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2747">
    <title>FS#2747: QCAD/CAM Layer List: missing icons for adding and editing layers</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2747</link>
    <dc:date>2026-09-01T06:43:19Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

See also:https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002/3 

</description>
    <content:encoded><![CDATA[
<p>
See also:<br /><a href="https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002/3" class="urlextern" title="https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002/3"  rel="nofollow">https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002/3</a> 
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2746">
    <title>FS#2746: Layer list, Windows, Qt 6, light mode: layer visibility icon unclear for selected items</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2746</link>
    <dc:date>2026-08-31T15:07:37Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

See also:https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002 

</description>
    <content:encoded><![CDATA[
<p>
See also:<br /><a href="https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002" class="urlextern" title="https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002"  rel="nofollow">https://forum.qcad.org/t/bug-in-3-33-0-icons-in-layerlist-of-marked-layer-turns-white-black/12002</a> 
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2745">
    <title>FS#2745: Modify &gt; Break Out: Degenerate case with arc producing full circle</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2745</link>
    <dc:date>2026-08-25T08:27:19Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

Draw line from 0,10 to 30,10



Draw arc from 3 points: 5,5 - 15,20 - 25,0



Break out arc segment at 4.2,8.95

</description>
    <content:encoded><![CDATA[
<p>
Draw line from 0,10 to 30,10
</p>

<p>
Draw arc from 3 points: 5,5 - 15,20 - 25,0
</p>

<p>
Break out arc segment at 4.2,8.95<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2744">
    <title>FS#2744: Select by handle to find an offending drawing object</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2744</link>
    <dc:date>2026-08-20T02:17:50Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

As we can read in this forum topic:https://forum.qcad.org/t/tip-when-dealing-with-an-exception-occurred-entity-not-saved-xxxx-error-on-save/11970



The tool can report “Object selected: nnn” when selecting an offending entity while nothing seems to be selected.The search for the offending entity can be simplified by also reporting its Block name.

    if (isEntity(obj)) {
        di.selectEntity(obj.getId());
        EAction.handleUserMessage(qsTr(&amp;quot;Object selected:&amp;quot;) + &amp;quot; &amp;quot; + obj.getId() + &amp;quot; (&amp;quot; + obj.getBlockName() + &amp;quot;)&amp;quot;);
    }


The object ID nnn is of no use for a common user.



Automatically switching to the Block in question is perhaps even better.



In the referred topic the user explains how to find and delete the entity.It won&amp;#039;t be saved thus saving and reopening is then the more simplier solution.



Offending is for example an ellipse with a negative ratio.Not automatically fixed by correctMajorMinor().But easily fixed when selected (in the current Block).



Regards,CVH

</description>
    <content:encoded><![CDATA[
<p>
As we can read in this forum topic:<br /><a href="https://forum.qcad.org/t/tip-when-dealing-with-an-exception-occurred-entity-not-saved-xxxx-error-on-save/11970" class="urlextern" title="https://forum.qcad.org/t/tip-when-dealing-with-an-exception-occurred-entity-not-saved-xxxx-error-on-save/11970"  rel="nofollow">https://forum.qcad.org/t/tip-when-dealing-with-an-exception-occurred-entity-not-saved-xxxx-error-on-save/11970</a>
</p>

<p>
The tool can report “<strong>Object selected: nnn</strong>” when selecting an offending entity while nothing seems to be selected.<br />The search for the offending entity can be simplified by also reporting its Block name.
</p>
<pre class="code">    if (isEntity(obj)) {
        di.selectEntity(obj.getId());
        EAction.handleUserMessage(qsTr(&quot;Object selected:&quot;) + &quot; &quot; + obj.getId() + &quot; (&quot; + obj.getBlockName() + &quot;)&quot;);
    }</pre>

<p>
The object ID nnn is of no use for a common user.
</p>

<p>
Automatically switching to the Block in question is perhaps even better.
</p>

<p>
In the referred topic the user explains how to find and delete the entity.<br />It won&#039;t be saved thus saving and reopening is then the more simplier solution.
</p>

<p>
Offending is for example an ellipse with a negative ratio.<br />Not automatically fixed by <em>correctMajorMinor()</em>.<br />But easily fixed when selected (in the current Block).
</p>

<p>
Regards,<br />CVH<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2743">
    <title>FS#2743: Performance: slow performance when (un-)collapsing parent layers</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2743</link>
    <dc:date>2026-08-19T17:53:14Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

See also:https://forum.qcad.org/t/performance-issue-with-sublayers-any-suggestions/11961 

</description>
    <content:encoded><![CDATA[
<p>
See also:<br /><a href="https://forum.qcad.org/t/performance-issue-with-sublayers-any-suggestions/11961" class="urlextern" title="https://forum.qcad.org/t/performance-issue-with-sublayers-any-suggestions/11961"  rel="nofollow">https://forum.qcad.org/t/performance-issue-with-sublayers-any-suggestions/11961</a> 
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2742">
    <title>FS#2742: Layer list: collapsed layers not remembered correctly if there are layer states</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2742</link>
    <dc:date>2026-08-19T16:24:36Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

If a drawing has layer states, the collapse state of layers that are also in the layer state is not remembered correctly.

</description>
    <content:encoded><![CDATA[
<p>
If a drawing has layer states, the collapse state of layers that are also in the layer state is not remembered correctly.<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2741">
    <title>FS#2741: Comparing values with the squared tolerance (1e-18)</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2741</link>
    <dc:date>2026-08-16T06:24:12Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

Andrew, 



Nicely summarized by an AI:Comparing two floating-point values within a tolerance is NOTthe same as comparing their squared values within the squared tolerance.Squaring changes the scale of values and the distance between them.This breaks the linear logic used in standard tolerance checks, especially for values near zero or larger values.



Why These Methods Are Not Equal:- Different scaling near zero: If a = 0.1 and b = 0.2, their absolute difference is 0.10.Their squared values are 0.01 and 0.04, with a difference of 0.03 (three times smaller).- Different scaling for large values: If a = 1000.1 and b = 1000.2, their difference is 0.10, but their squared values differ by about 200 (2000 times larger).- Tolerance distortion: A linear tolerance epsilon allows a fixed window [a-epsilon &amp;lt; b &amp;lt; a+epsilon]. Squaring maps this to a non-linear, asymmetric range that grows much faster for larger base values.



When It Fails:- Small values (&amp;lt;±1): The squared difference becomes much smaller than the linear difference.A tolerance that passes linear values might fail squared values.- Larger values (&amp;gt;±1): The squared difference becomes much larger than the linear difference.A tolerance that passes linear values will likely fail squared values.- Negative values: Squaring loses the sign. If (a = -1.001) and (b = 1.001), they are far apart linearly,but their squared values are nearly identical (1.002 vs 1.002).





 Recently implemented at various places in QCAD.For example to compare a distance in XY with a value within tolerance avoiding thesqrt() of the vector magnitude by retrieving the squared magnitude.Where the distance d = sqrt(dX²+dY²+dZ²) is compared with a positive value v within a small tolerance (e.g. RS.PointTolerance = 1e-9)Including dZ because there is no 2D variant for RVector::getSquaredMagnitude().Or for example where the squared distance is calculated in direct as dSqr = dX²+dY².



Typically worked out as fabs(d - v) &amp;lt; 1e-9 (analog of RMath.fuzzyCompare).What results in fabs(sqrt(dX²+dY²) - v) &amp;lt; 1e-9.



And then falsely replaced by fabs(dX²+dY² - v²) &amp;lt; 1e-9*1e-9 Or comparing a difference to within 1e-18.In the case of larger numbers (&amp;gt;1):Subtracting 2 much larger but near equal values with no more than 17 significant digits.



Also algebraically incorrect ! … Squaring both sides of (|d - v| &amp;lt; tol) to exploit d² instead of d results in: ((d - v)² &amp;lt; tol²)And this expands to: (d² - 2dv + v² &amp;lt; tol²) where the root d is still present.



(fabs(d - v) &amp;lt; tol) is already a reduction of a window comparison: (d &amp;gt; v-tol &amp;amp;&amp;amp; d &amp;lt; v+tol)At best, avoiding the subtraction of a small value in floating point: (d+tol &amp;gt; v &amp;amp;&amp;amp; d &amp;lt; v+tol)We then also avoid digit cancellation when subtracting larger values in fabs(d - v).But squaring this also leads to ((d+tol)² &amp;gt; v²) or (d²+2*d*tol+tol² &amp;gt; v²) for the first test.  





With the initial window comparison:Squaring (d &amp;gt; v-tol &amp;amp;&amp;amp; d &amp;lt; v+tol) results in: (d² &amp;gt; (v-tol)² &amp;amp;&amp;amp; d² &amp;lt; (v+tol)²)In wich we can replace d² and the intended value v ≈ sqrt(d²) to compare with: (dSqr=dX²+dY² &amp;gt; (v-tol)² &amp;amp;&amp;amp; dSqr=dX²+dY² &amp;lt; (v+tol)²)



This may fail when (d == v).And always when tol is too small to be added or subtracted in floating-point.When comparing (squared) values within a small tolerance we must thus include equality:

if (dSqr &amp;gt;= (v-tol)*(v-tol) &amp;amp;&amp;amp; dSqr &amp;lt;= (v+tol)*(v+tol)) {...}


Programmatically more complex … … and perhaps no longer a faster method than taking the root.The second test is skipped when the first is true.



It certainly avoids the absurd comparison with 1e-18.Because that is mostly true for real near equal distances after squaring.



 Regards,CVH

</description>
    <content:encoded><![CDATA[
<p>
Andrew, 
</p>

<p>
Nicely summarized by an AI:<br />Comparing two floating-point values within a tolerance is NOT<br />the same as comparing their squared values within the squared tolerance.<br />Squaring changes the scale of values and the distance between them.<br />This breaks the linear logic used in standard tolerance checks, especially for values near zero or larger values.
</p>

<p>
<strong><em>Why These Methods Are Not Equal</em></strong>:<br />- Different scaling near zero: <br />If a = 0.1 and b = 0.2, their absolute difference is <strong>0.10</strong>.<br />Their squared values are 0.01 and 0.04, with a difference of <strong>0.03</strong> (three times smaller).<br />- Different scaling for large values: <br />If a = 1000.1 and b = 1000.2, their difference is <strong>0.10</strong>, <br />but their squared values differ by about <strong>200</strong> (2000 times larger).<br />- Tolerance distortion: <br />A linear tolerance epsilon allows a fixed window <strong>[a-epsilon &lt; b &lt; a+epsilon]</strong>. Squaring maps this to a non-linear, asymmetric range that grows much faster for larger base values.
</p>

<p>
<strong><em>When It Fails</em></strong>:<br />- Small values (&lt;±1): <br />The squared difference becomes much smaller than the linear difference.<br />A tolerance that passes linear values might fail squared values.<br />- Larger values (&gt;±1): <br />The squared difference becomes much larger than the linear difference.<br />A tolerance that passes linear values will likely fail squared values.<br />- Negative values: Squaring loses the sign. <br />If (a = -1.001) and (b = 1.001), they are far apart linearly,<br />but their squared values are nearly identical (1.002 vs 1.002).
</p>
<hr />
<hr />

<p>
 Recently implemented at various places in QCAD.<br />For example to compare a distance in XY with a value within tolerance avoiding the<br /><strong>sqrt()</strong> of the vector magnitude by retrieving the squared magnitude.<br />Where the distance <strong>d = sqrt(dX²+dY²+dZ²)</strong> is compared with a positive value <strong>v</strong> within a small tolerance (e.g. <em>RS.PointTolerance = 1e-9</em>)<br />Including dZ because there is no 2D variant for <em>RVector::getSquaredMagnitude()</em>.<br />Or for example where the squared distance is calculated in direct as <strong>dSqr = dX²+dY²</strong>.
</p>

<p>
Typically worked out as <strong>fabs(d - v) &lt; 1e-9</strong> (analog of <em>RMath.fuzzyCompare</em>).<br />What results in <strong>fabs(sqrt(dX²+dY²) - v) &lt; 1e-9</strong>.
</p>

<p>
And then falsely replaced by <strong>fabs(dX²+dY² - v²) &lt; 1e-9*1e-9</strong> <br />Or comparing a difference to within <em class="u"><strong>1e-18</strong></em>.<br />In the case of larger numbers (&gt;1):<br />Subtracting 2 much larger but near equal values with no more than 17 significant digits.
</p>

<p>
<strong>Also algebraically incorrect !</strong> … <br />Squaring both sides of (<strong>|d - v| &lt; tol</strong>) to exploit <strong>d²</strong> instead of <strong>d</strong> results in: (<strong>(d - v)² &lt; tol²</strong>)<br />And this expands to: (<strong>d² - 2dv + v² &lt; tol²</strong>) where the root <strong>d</strong> is still present.
</p>

<p>
(<strong>fabs(d - v) &lt; tol</strong>) is already a reduction of a window comparison: (<strong>d &gt; v-tol &amp;&amp; d &lt; v+tol</strong>)<br />At best, avoiding the subtraction of a small value in floating point: (<strong>d+tol &gt; v &amp;&amp; d &lt; v+tol</strong>)<br />We then also avoid digit cancellation when subtracting larger values in <strong>fabs(d - v)</strong>.<br />But squaring this also leads to (<strong>(d+tol)² &gt; v²</strong>) or (<strong>d²+<em class="u">2*d*tol</em>+tol² &gt; v²</strong>) for the first test.  
</p>
<hr />
<hr />

<p>
With the initial window comparison:<br />Squaring (<strong>d &gt; v-tol &amp;&amp; d &lt; v+tol</strong>) results in: (<strong>d² &gt; (v-tol)² &amp;&amp; d² &lt; (v+tol)²</strong>)<br />In wich we can replace <strong>d²</strong> and the intended value <strong>v ≈ </strong>sqrt(d²) to compare with: <br />(<strong>dSqr=dX²+dY² &gt; (v-tol)² &amp;&amp; dSqr=dX²+dY² &lt; (v+tol)²</strong>)
</p>

<p>
This may fail when <strong>(d == v)</strong>.<br />And always when <strong>tol</strong> is too small to be added or subtracted in floating-point.<br />When comparing (squared) values within a small tolerance we must thus include equality:
</p>
<pre class="code">if (dSqr &gt;= (v-tol)*(v-tol) &amp;&amp; dSqr &lt;= (v+tol)*(v+tol)) {...}</pre>

<p>
Programmatically more complex … <br />… and perhaps no longer a faster method than taking the root.<br />The second test is skipped when the first is true.
</p>

<p>
It certainly avoids the absurd comparison with <strong>1e-18</strong>.<br />Because that is mostly true for real near equal distances after squaring.
</p>

<p>
 Regards,<br />CVH<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2740">
    <title>FS#2740: System reverts to &quot;Custom&quot; Printing Page size rather than taking ANSI-A (Letter) or other Named size</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2740</link>
    <dc:date>2026-08-14T11:15:49Z</dc:date>
    <dc:creator>Steven Guttag</dc:creator>
     <description>

I&amp;#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 &amp;quot;Custom&amp;quot; paper size.  it should be &amp;quot;A&amp;quot; size (US-Letter).  When I try to set it to ANSI-A (Letter), even after saving, it reverts to &amp;quot;Custom&amp;quot; (though the dimensions remain correct (8.5&amp;quot;x11&amp;quot;)

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2564">
    <title>FS#2564: REllipse::getVectorTo(p) returns a vector to a major point when p is on the major axis</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2564</link>
    <dc:date>2026-08-10T08:10:57Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

Andrew,



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. This is only correct for points outside the evolute.



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



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



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



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





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



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



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



Regards,CVH 


</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2739">
    <title>FS#2739: High CPU usage under Gnome with Text Size other than 100%</title>
    <link>https://www.qcad.io/bugtracker/index.php?do=details&amp;task_id=2739</link>
    <dc:date>2026-08-08T19:16:34Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

See also:https://forum.qcad.org/t/high-cpu-when-idle-with-no-diagram-loaded-on-linux-wayland/11895 

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
  </rdf:RDF>
