Commit Graph

71 Commits

Author SHA1 Message Date
Sami Liedes
b3e8ed7814 Gui/Application, QuarterWidget: request OpenGL compatibility profile (#23768)
On Wayland with Qt, the default OpenGL context often ends up being
OpenGL ES. ES is a stricter API based on the "core" profile and lacks
many legacy functions (e.g. glEnd). FreeCAD relies on some of these
functions, which work under Mesa’s permissive stack but fail outright
with NVIDIA’s proprietary drivers, resulting in a blank 3D view.

Fix this by explicitly requesting a desktop OpenGL compatibility
profile both before QApplication creation and in QuarterWidget. This
ensures the presence of the legacy entry points required by Coin/SoQt.

(NB: both requests appear to be necessary; a single change was not
sufficient in testing.)
2025-09-29 19:22:29 -05:00
Andrea
2f5f8f32e7 Remove old Coin code <=3
ubuntu 22.04 use libcoin v 4. https://launchpad.net/ubuntu/jammy/+package/libcoin-dev
2025-03-29 12:16:09 +01:00
Chris Hennes
dced463dc6 Merge pull request #19428 from tritao/base-tracy-profiler
Base: Add Tracy frame profiling support.
2025-03-14 04:12:05 +00:00
Joao Matos
7ae14d6bd5 Base: Add build support and instrumentation for the Tracy profiler. 2025-03-14 03:41:30 +00:00
Andrea
5464ada40c Remove old qt code
new round of removal following the report of @benj5378  .

.
2025-03-05 09:46:35 +01:00
Andrea
da66720d3a REMOVE old QT<= 5.14 code
Ubuntu 22.04  use qt 1.15.3.
In the code is still used qt code <5.10.
A cleanup was done by removing qT code version used in ubuntu 18.04.
2025-03-05 09:32:06 +01:00
Joao Matos
3b05b61de2 Gui: Remove QtOpenGL.h. 2025-02-25 23:03:51 +00:00
Joao Matos
91e94ba1dd Gui: Cleanup Qt OpenGL usings in QtOpenGL.h.
Previously the code defined compatiblity usings in `QtOpenGL.h` header,
which I think was added for backwards compatiblity with previous Qt
OpenGL widgets.

As far as I can tell, this is not necessary anymore, and can be cleaned
up.
2025-02-25 23:03:51 +00:00
wmayer
12f5f70757 Quarter: Update Quarter code
* Removes unused default constructors of the device classes
* Changes several doc strings
2024-07-08 10:54:41 -05:00
Chris Hennes
5f094a48a9 Gui: Remove unused ref to GL context 2024-06-26 11:53:18 -05:00
xtemp09
f53c827f94 Fix the crash when closing a document
Closes #14189. This commit partially reverts
d15c7d0673 and
fb37201299.
2024-06-24 10:49:27 -05:00
wmayer
54bb9c9c62 Gui: modernize C++: return braced init list 2023-08-18 00:36:24 +02:00
wmayer
33dc7917bb Gui: modernize C++: use override 2023-08-04 17:09:53 +02:00
wmayer
713bc349a5 Qt6: fix possible build failure
* add CMake definitions 'QT_NO_KEYWORDS' to avoid the Qt definition of the 'slots' macro that causes a conflict when including Python headers
* drop QT3_SUPPORT define
2023-07-20 08:58:56 -05:00
Edoardo Morandi
e2e1a51790 fix: UB by erroneous event downcasting
When an event type is `QEvent::Wheel`, the event type is `QWheelEvent`,
which is not a `QMouseEvent`. This caused a undefined behavior that can
be cached by ubsan.
2023-04-17 23:42:15 +02:00
wmayer
d6a7b282d5 Core: Qt6 migration, use PySide 2022-11-06 14:09:18 +01:00
wmayer
de7949a3b7 [skip ci] Debian patches:
* Fix FTBFS on armhf/armel, undefined GL_PROJECTION (issue 1014875)
* Disable syntax checks for some Python modules
2022-09-06 14:40:10 +02:00
wmayer
54506e12bf Fix several clazy issue:
* Using copy-ctor but class SbMatrix/SbViewportRegion has a trivial copy-ctor but non trivial assign operator [-Wclazy-rule-of-two-soft]
2022-07-24 19:38:59 +02:00
Uwe
316a869b26 [Gui] remove superfluous nullptr checks 2022-07-18 03:17:42 +02:00
andrea
3018985f80 Remove unused code into GUI 2022-07-17 03:53:11 +02:00
wmayer
9ffac65e8c Gui: [skip ci] do not include Inventor/SbByteBuffer.h for older Coin3D versions 2022-03-22 10:36:03 +01:00
wmayer
56ced5cdd5 Gui: fix build failure with older Coin3D versions 2022-03-21 19:59:03 +01:00
Uwe
9654786c67 [Gui] Quarter: remove unused includes 2022-03-09 01:12:15 +01:00
wmayer
daf1269497 Gui: remove support of using deprecated Qt OpenGL API 2022-01-26 14:46:41 +01:00
wmayer
4a1c1c7004 C++11: modernize use nullptr (replaces NULL or 0) 2021-11-05 18:16:19 +01:00
Chris Hennes
50c7ee36bf [GUI] Remove code for Qt < 5.9 2021-04-02 10:10:37 +02:00
vosk
17ec9b7c08 [APP] - Fix leaking QGraphicsScene in QuarterWidget 2021-02-19 16:44:16 +01:00
wmayer
c9923ab153 Gui: [skip ci] Revert workaround to avoid to handle wheel events twice inside the 3d view
This workaround caused a regression with Qt 5.15. For more details see: https://forum.freecadweb.org/viewtopic.php?f=3&t=50231
2020-11-03 14:50:06 +01:00
vejmarie
81af54e410 Big update to remove deprecation warning from Qt 5.15.0
That is need on MacOS build as travis log is bigger than 50k lines
which breaks travis rules
And by the way deprecations are real
All file contains the same modification replace 0 to Qt::WindowFlags() when needed
as the class needs to be instantiated

Signed-off-by: vejmarie <jmverdun3@gmail.com>
2020-09-24 12:56:43 +02:00
Oscar Rainford
8fe0d19ebe Include Inventor/SbByteBuffer.h in QuarterWidget.cpp to allow compilation with latest Coin3D library. 2020-09-22 14:05:01 +02:00
Zheng, Lei
58dc5c6d7f Gui: fix 'Recursive repaint' warning when switching 3D views 2020-05-06 12:14:00 +02:00
wmayer
dbb095a47c Gui: [skip ci] disable workaround to avoid handling an event twice because it leads to a regression on macOS 2020-04-03 15:11:24 +02:00
wmayer
5324540d8b Gui: [skip ci] avoid that 3D view handles a single wheel scroll event twice 2020-04-02 14:02:03 +02:00
wmayer
b1189aef6e Gui: override QOpenGLWidget::paintGL() in sub-class [skip ci] 2020-01-08 13:28:50 +01:00
wmayer
3c3e946f75 [skip ci] issue #0004164, issue #0004237: macOS crash when opening project from 'Recent files' 2020-01-03 16:14:55 +01:00
wmayer
fb37201299 fix build failures with newer compiler versions 2019-02-12 13:10:49 +01:00
wmayer
d15c7d0673 + option to disable navi cube
+ handle destruction of GL context in 3d viewer class
+ fix for OpenGL error message: 'Texture is not valid in the current context. Texture has not been destroyed'
2018-05-26 15:33:45 +02:00
luz.paz
77c1fc59e4 Doxy typos 2018-02-23 11:52:31 -03:00
Unknown
a8ecffb652 Misc. typo fixes
Various workbenches
2017-12-23 14:30:30 +01:00
wmayer
676b17969e make the fps counter more stable 2017-10-13 00:13:19 +02:00
luzpaz
ab8f8919b6 Misc. typos
+ some are doxy others are just comment code.  
+ some minor whitespace and grammatical tweaks. 
+ app/SCL/* typos have also been submitted upstream (https://github.com/stepcode/stepcode/pull/366). So it's ok to merge them in to master.
2017-10-04 17:59:11 +02:00
wmayer
01f7894b2b fix build failure on Windows due to conflicting define with Win32 API 2017-09-20 15:58:09 +02:00
Mateusz Skowroński
0a375d8267 Fix some more Quarter High DPI Display issues. Partially fixes #3130 (the offset issue).
Related to issue #2968.

Ported from code by Randall O'Reilly.
https://grey.colorado.edu/svn/coin3d/quarter/trunk/
2017-09-20 14:37:22 +02:00
wmayer
d02a34c03b Qt5 port: workaround to keep multi-sampling when undocking mdi window 2017-05-01 18:53:58 +02:00
wmayer
2ec2ea5ac0 Qt5OpenGL: fix flickering on resize 2017-03-21 20:37:03 +01:00
wmayer
0568209a52 Qt5OpenGL: add OpenGL debug logger (deactivated) 2017-03-21 20:37:03 +01:00
wmayer
3ac834c734 Qt5OpenGL: use OpenGL debug logger to locate problems, fix a couple of errors 2017-03-21 20:37:03 +01:00
wmayer
b0cd0a5163 Qt5OpenGL: release context when finished 2017-03-21 20:37:03 +01:00
wmayer
f587ec5b29 disabling depth test makes 3d viewer work again 2017-03-21 20:37:03 +01:00
wmayer
a1dd462de9 move QuarterWidget to QOpenGLWidget 2017-03-21 20:37:03 +01:00