<?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://qcad.ch/bugtracker/">
    <title>Flyspray::</title>
    <link>https://qcad.ch/bugtracker/</link>
    <description>Feed for all projects</description>
    <dc:date>2026-08-03T19:55:23Z</dc:date>
    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2738" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2737" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2736" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2735" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2734" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2733" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2732" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2731" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2730" />
                <rdf:li rdf:resource="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2729" />
              </rdf:Seq>
    </items>
    		
  </channel>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2738">
    <title>FS#2738: Block &gt; Edit block in place: After editing the block, the block reference has draw order 0</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2738</link>
    <dc:date>2026-08-03T19:55:23Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

See also:https://forum.qcad.org/t/after-editing-a-block-in-place-the-block-loses-its-display-order-in-the-main-drawing/11918 

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2737">
    <title>FS#2737: System reverts to &quot;Custom&quot; Printing Page size rather than taking ANSI-A (Letter) or other Named size</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2737</link>
    <dc:date>2026-08-03T15:53:03Z</dc:date>
    <dc:creator>Steven Guttag</dc:creator>
     <description>

This may be unique to the ARM version but I&amp;#039;ve noted that with each drawing I open, it flags that I am using a &amp;quot;Custom&amp;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 &amp;quot;Custom&amp;quot; size.  



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



I didn&amp;#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&amp;#039;m wondering if the problem is ARM based rather than on other operating systems, including Intel based Macs, like my previous one. 

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2736">
    <title>FS#2736: REllipse::correctMajorMinor() calls itself one more time, switchMajorMinor() calls it twice</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2736</link>
    <dc:date>2026-07-30T11:14:34Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

Andrew,



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



For a ratio over 1.0, correctMajorMinor() caches the minor point (Line 1205).Sets a corrected ratio (Line 1206).And then it sets the major point using REllipse::setMajorPoint() (Line 1207). 



 setMajorPoint() calls REllipse::correctMajorMinor() again.This time the ratio is less than 1.0 and nothing is altered.



 Because correctMajorMinor() is setting things straight it can simply updatethe public attributes: &amp;#039;ratio&amp;#039;, &amp;#039;majorPoint&amp;#039;, &amp;#039;startParam&amp;#039; and &amp;#039;endParam&amp;#039; in this order.



correctMajorMinor() is typically called for:- The valid REllipse constructor.- When setting the REllipse major point, the ratioand thus also when setting the minor point.- When setting the properties of an REllipseEntity. 




There is a second analog to REllipse::correctMajorMinor().



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



The main difference is that it is skipped when the ratio is less than 1e-9.fabs(ratio) in line 314 is odd because a negative ratio is invalid … Not rendered. 



switchMajorMinor() triggers correctMajorMinor() twice.



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



switchMajorMinor() can also update the public attributes in direct. 




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



Regards,CVH

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2735">
    <title>FS#2735: File &gt; Open: Frozen layer states from viewports are not loaded for empty layers</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2735</link>
    <dc:date>2026-07-29T17:11:06Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

1. Freeze an empty layer in a viewport2. Save3. Reopen



Layer is not frozen.



See also:https://forum.qcad.org/t/manage-viewport-layers-not-persisting-save-and-reopen/11902 

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2734">
    <title>FS#2734: Concerning: Commit 2b1838b</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2734</link>
    <dc:date>2026-07-30T15:11:31Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

RCircle.getVectorTo was modded to avoid the sqrt() in getMagnitude() and used v.getSquaredMagnitude().Then comparing that with the square of the default tolerance (1e-18).Part of Commit d233495



In RCircle::getDistanceTogetDistanceTo2D is based on getMagnitude2D().This should be compared with RS.PointTolerance (1e-9), not squared (1e-18).



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



A method missing here is RVector::getSquaredMagnitude2D() avoiding + 0.0*0.0 for dz² 





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



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): Less than 1e-9 to 1.414214e-9 away in any 2D directionOr less than 1e-9 to 1.732051e-9 away in 3D.40 to 70% more tolerant depending 2 or 3D and the direction.



 Regards,CVH



PS:I can start a comment on GitHub like before but that is no longer accepting inputs.

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2733">
    <title>FS#2733: Transparent black or white entities lose transparency with color correction</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2733</link>
    <dc:date>2026-07-01T09:37:52Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

Color correction strips the alpha channel.



See:https://forum.qcad.org/t/qcad-shading-of-hatches/11828 

</description>
    <content:encoded><![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>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2732">
    <title>FS#2732: Draw &gt; Hatch &gt; Hatch from Segments…: fails with certain arcs</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2732</link>
    <dc:date>2026-06-19T10:22:45Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

Choosing one arc fails for example at:



https://forum.qcad.org/t/crosshatch-problems-using-latest-version/11776 

</description>
    <content:encoded><![CDATA[
<p>
Choosing one arc fails for example at:
</p>

<p>
<a href="https://forum.qcad.org/t/crosshatch-problems-using-latest-version/11776" class="urlextern" title="https://forum.qcad.org/t/crosshatch-problems-using-latest-version/11776"  rel="nofollow">https://forum.qcad.org/t/crosshatch-problems-using-latest-version/11776</a> 
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2731">
    <title>FS#2731: Crash with invalid image of size 0</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2731</link>
    <dc:date>2026-06-15T11:29:07Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

An image with size 0/0 can cause a crash when trying to render the image.

</description>
    <content:encoded><![CDATA[
<p>
An image with size 0/0 can cause a crash when trying to render the image.<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2730">
    <title>FS#2730: Misc &gt; Reset Configuration: Exception when using dialog button flags</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2730</link>
    <dc:date>2026-06-15T09:07:25Z</dc:date>
    <dc:creator>CVH</dc:creator>
     <description>

Andrew,



The exception is skipped silently and the configuration is not reset.



 Nowadays standard dialog buttons or flags are created using the makeQMessageBoxStandardButtons library function.



new QMessageBox.StandardButtons(…) seems functional too.



.setStandardButtons(A | B) and .setDefaultButton(B) is seen as another method.



Regards,CVH

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

<p>
The exception is skipped silently and the configuration is not reset.
</p>

<p>
 Nowadays standard dialog buttons or flags are created using the makeQMessageBoxStandardButtons library function.
</p>

<p>
new QMessageBox.StandardButtons(…) seems functional too.
</p>

<p>
.setStandardButtons(A | B) and .setDefaultButton(B) is seen as another method.
</p>

<p>
Regards,<br />CVH<br />
</p>
]]></content:encoded>
  </item>
    <item rdf:about="https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2729">
    <title>FS#2729: File &gt; Bitmap Export: margin creates offset</title>
    <link>https://qcad.ch/bugtracker/index.php?do=details&amp;task_id=2729</link>
    <dc:date>2026-06-12T15:03:47Z</dc:date>
    <dc:creator>Andrew</dc:creator>
     <description>

The margin in the bitmap export dialog causes an offset, not a margin all around cutting off part of the drawing.

</description>
    <content:encoded><![CDATA[
<p>
The margin in the bitmap export dialog causes an offset, not a margin all around cutting off part of the drawing.<br />
</p>
]]></content:encoded>
  </item>
  </rdf:RDF>
