[Broken] Change Anti-aliasing without viewer restart

Post here if you have re-based and finalised code to integrate into master, which was discussed, agreed to and tested in other forums. You can also submit your PR directly on github.
Post Reply
ickby
Posts: 2905
Joined: Wed Oct 05, 2011 7:36 am

[Broken] Change Anti-aliasing without viewer restart

Post by ickby » Sat Feb 21, 2015 9:38 pm

Hallo,

I made some changes to make anti aliasing work like in 0.14, see

https://github.com/ickby/FreeCAD_sf_mas ... tialiasing

Werner, I'm not entirely sure this works 100% with the openGL context sharing or if this breaks it. I did not found the topic where we discussed one case which did not work without sharing, if you remember, can you please test this?

EDIT: the commit does not work everywhere and henc eis considered broken. I leave it here for reference til I find a way to do this correcty.

Regards,
Stefan
Last edited by ickby on Wed Feb 25, 2015 3:18 pm, edited 1 time in total.

ickby
Posts: 2905
Joined: Wed Oct 05, 2011 7:36 am

Re: Change Anti-aliasing without viewer restart

Post by ickby » Wed Feb 25, 2015 1:22 pm

As the behaviour changed by this commit is a clear regression from 0.14 stable to now the issue should be adressed even if the given code is only merged after 0.15 release. For example by adding a note to the preference page below the anti-aliasing setting that indicates that a viewer restart is needed for the change to take place.

As this change is trival I do not create a branch for it, its easier to fire up QT Creator and change that than checking a branch out.

wmayer
Site Admin
Posts: 14429
Joined: Thu Feb 19, 2009 10:32 am

Re: Change Anti-aliasing without viewer restart

Post by wmayer » Wed Feb 25, 2015 2:32 pm

For me this doesn't work. As soon as I create a document it crashes. Here is the stack trace:
> QtOpenGLd4.dll!QGLContextPrivate::extensionFuncs(const QGLContext * ctx=0x0000000004081990) Line 467 + 0x17 bytes C++
QtOpenGLd4.dll!qt_resolve_glsl_extensions(QGLContext * ctx=0x0000000004081990) Line 257 + 0xd bytes C++
QtOpenGLd4.dll!QGLShaderPrivate::create() Line 227 + 0xa bytes C++
QtOpenGLd4.dll!QGLShader::QGLShader(QFlags<enum QGLShader::ShaderTypeBit> * type=0x000000000012d948, const QGLContext * context=0x0000000003f4cbe0, QObject * parent=0x0000000000000000) Line 341 + 0xa bytes C++
QtOpenGLd4.dll!QGLEngineSharedShaders::QGLEngineSharedShaders(const QGLContext * context=0x0000000003f4cbe0) Line 191 + 0x5a bytes C++
QtOpenGLd4.dll!QGLContextGroupResource<QGLEngineSharedShaders>::value(const QGLContext * context=0x0000000003f4cbe0) Line 778 + 0x26 bytes C++
QtOpenGLd4.dll!QGLShaderStorage::shadersForThread(const QGLContext * context=0x0000000003f4cbe0) Line 63 C++
QtOpenGLd4.dll!QGLEngineSharedShaders::shadersForContext(const QGLContext * context=0x0000000003f4cbe0) Line 74 C++
QtOpenGLd4.dll!QGLEngineShaderManager::QGLEngineShaderManager(QGLContext * context=0x0000000003f4cbe0) Line 467 + 0xa bytes C++
QtOpenGLd4.dll!QGL2PaintEngineEx::begin(QPaintDevice * pdev=0x0000000008abcba0) Line 2150 + 0x2d bytes C++
QtGuid4.dll!QPainter::begin(QPaintDevice * pd=0x0000000008abcba0) Line 1881 + 0x26 bytes C++
QtGuid4.dll!QPainter::QPainter(QPaintDevice * pd=0x0000000008abcba0) Line 1508 C++
QtGuid4.dll!QGraphicsView::paintEvent(QPaintEvent * event=0x000000000012f7a0) Line 3402 + 0x57 bytes C++
FreeCADGui_d.dll!SIM::Coin3D::Quarter::QuarterWidget::paintEvent(QPaintEvent * event=0x000000000012f7a0) Line 735 C++
QtGuid4.dll!QWidget::event(QEvent * event=0x000000000012f7a0) Line 8534 C++
QtGuid4.dll!QFrame::event(QEvent * e=0x000000000012f7a0) Line 557 + 0xf bytes C++
QtGuid4.dll!QAbstractScrollArea::viewportEvent(QEvent * e=0x000000000012f7a0) Line 1043 + 0xf bytes C++
QtGuid4.dll!QGraphicsView::viewportEvent(QEvent * event=0x000000000012f7a0) Line 2867 C++
FreeCADGui_d.dll!SIM::Coin3D::Quarter::QuarterWidget::viewportEvent(QEvent * event=0x000000000012f7a0) Line 752 + 0x10 bytes C++
QtGuid4.dll!QAbstractScrollAreaPrivate::viewportEvent(QEvent * event=0x000000000012f7a0) Line 100 + 0x35 bytes C++
QtGuid4.dll!QAbstractScrollAreaFilter::eventFilter(QObject * o=0x0000000008abcb90, QEvent * e=0x000000000012f7a0) Line 116 + 0x3d bytes C++
QtCored4.dll!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject * receiver=0x0000000008abcb90, QEvent * event=0x000000000012f7a0) Line 1059 + 0x1a bytes C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0000000008abcb90, QEvent * e=0x000000000012f7a0) Line 4558 + 0x15 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0000000008abcb90, QEvent * e=0x000000000012f7a0) Line 4527 + 0x1d bytes C++
FreeCADGui_d.dll!Gui::GUIApplication::notify(QObject * receiver=0x0000000008abcb90, QEvent * event=0x000000000012f7a0) Line 1540 + 0x1e bytes C++
QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0000000008abcb90, QEvent * event=0x000000000012f7a0) Line 949 + 0x26 bytes C++
QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x0000000008abcb90, QEvent * event=0x000000000012f7a0) Line 234 + 0x4c bytes C++
QtGuid4.dll!QWidgetPrivate::drawWidget(QPaintDevice * pdev=0x0000000008abcba0, const QRegion & rgn={...}, const QPoint & offset={...}, int flags=3, QPainter * sharedPainter=0x0000000000000000, QWidgetBackingStore * backingStore=0x0000000000000000) Line 5601 C++
QtGuid4.dll!QWidgetPrivate::repaint_sys(const QRegion & rgn={...}) Line 1659 C++
QtGuid4.dll!QWidgetPrivate::syncBackingStore() Line 1892 C++
QtGuid4.dll!QWidget::event(QEvent * event=0x0000000008ae4b60) Line 8681 C++
QtOpenGLd4.dll!QGLWidget::event(QEvent * e=0x0000000008ae4b60) Line 4408 C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0000000008abcb90, QEvent * e=0x0000000008ae4b60) Line 4562 + 0x15 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0000000008abcb90, QEvent * e=0x0000000008ae4b60) Line 4527 + 0x1d bytes C++
FreeCADGui_d.dll!Gui::GUIApplication::notify(QObject * receiver=0x0000000008abcb90, QEvent * event=0x0000000008ae4b60) Line 1540 + 0x1e bytes C++
QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0000000008abcb90, QEvent * event=0x0000000008ae4b60) Line 949 + 0x26 bytes C++
QtCored4.dll!QCoreApplication::sendEvent(QObject * receiver=0x0000000008abcb90, QEvent * event=0x0000000008ae4b60) Line 231 + 0x50 bytes C++
QtCored4.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x0000000008abcb90, int event_type=77, QThreadData * data=0x0000000002e6cf00) Line 1573 + 0xf bytes C++
QtCored4.dll!QCoreApplication::sendPostedEvents(QObject * receiver=0x0000000008abcb90, int event_type=77) Line 1467 C++
QtGuid4.dll!QGraphicsViewPrivate::dispatchPendingUpdateRequests() Line 199 C++
QtGuid4.dll!QGraphicsScenePrivate::_q_emitUpdated() Line 390 + 0x28 bytes C++
QtGuid4.dll!QGraphicsScene::qt_static_metacall(QObject * _o=0x0000000008ab77d0, QMetaObject::Call _c=InvokeMetaMethod, int _id=12, void * * _a=0x0000000008abc7a0) Line 104 + 0x12 bytes C++
QtCored4.dll!QMetaCallEvent::placeMetaCall(QObject * object=0x0000000008ab77d0) Line 525 C++
QtCored4.dll!QObject::event(QEvent * e=0x0000000008abc880) Line 1194 + 0x1e bytes C++
QtGuid4.dll!QGraphicsScene::event(QEvent * event=0x0000000008abc880) Line 3565 + 0x16 bytes C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0000000008ab77d0, QEvent * e=0x0000000008abc880) Line 4562 + 0x15 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0000000008ab77d0, QEvent * e=0x0000000008abc880) Line 3944 + 0x1d bytes C++
FreeCADGui_d.dll!Gui::GUIApplication::notify(QObject * receiver=0x0000000008ab77d0, QEvent * event=0x0000000008abc880) Line 1540 + 0x1e bytes C++
QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0000000008ab77d0, QEvent * event=0x0000000008abc880) Line 949 + 0x26 bytes C++
QtCored4.dll!QCoreApplication::sendEvent(QObject * receiver=0x0000000008ab77d0, QEvent * event=0x0000000008abc880) Line 231 + 0x50 bytes C++
QtCored4.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x0000000000000000, int event_type=0, QThreadData * data=0x0000000002e6cf00) Line 1573 + 0xf bytes C++
QtCored4.dll!qt_internal_proc(HWND__ * hwnd=0x0000000000050910, unsigned int message=1025, unsigned __int64 wp=0, __int64 lp=0) Line 502 C++
user32.dll!00000000778fc3c1()
[Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]
user32.dll!00000000778fc60a()
QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000135970) Line 814 C++
QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x00000000001359bc) Line 1212 + 0x27 bytes C++
QtCored4.dll!QCoreApplication::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x0000000000135ca8) Line 1137 C++
FreeCADGui_d.dll!Gui::Application::slotNewDocument(const App::Document & Doc={...}) Line 648 + 0x2e bytes C++
FreeCADGui_d.dll!boost::_mfi::mf1<void,Gui::Application,App::Document const & __ptr64>::operator()(Gui::Application * p=0x000000000013d540, const App::Document & a1={...}) Line 166 C++
FreeCADGui_d.dll!boost::_bi::list2<boost::_bi::value<Gui::Application * __ptr64>,boost::arg<1> >::operator()<boost::_mfi::mf1<void,Gui::Application,App::Document const & __ptr64>,boost::_bi::list1<App::Document const & __ptr64> >(boost::_bi::type<void> __formal={...}, boost::_mfi::mf1<void,Gui::Application,App::Document const &> & f={...}, boost::_bi::list1<App::Document const &> & a={...}, boost::_bi::type<void> __formal={...}) Line 314 C++
FreeCADGui_d.dll!boost::_bi::bind_t<void,boost::_mfi::mf1<void,Gui::Application,App::Document const & __ptr64>,boost::_bi::list2<boost::_bi::value<Gui::Application * __ptr64>,boost::arg<1> > >::operator()<App::Document>(const App::Document & a1={...}) Line 48 C++
FreeCADGui_d.dll!boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void,boost::_mfi::mf1<void,Gui::Application,App::Document const & __ptr64>,boost::_bi::list2<boost::_bi::value<Gui::Application * __ptr64>,boost::arg<1> > >,void,App::Document const & __ptr64>::invoke(boost::detail::function::function_buffer & function_obj_ptr={...}, const App::Document & a0={...}) Line 154 C++
FreeCADApp_d.dll!boost::function1<void,App::Document const & __ptr64>::operator()(const App::Document & a0={...}) Line 768 C++
FreeCADApp_d.dll!boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >::operator()<boost::signals::detail::connection_slot_pair>(const boost::signals::detail::connection_slot_pair & slot={...}) Line 120 C++
FreeCADApp_d.dll!boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>::dereference() Line 61 + 0x23 bytes C++
FreeCADApp_d.dll!boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(const boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const &,boost::function<void __cdecl(App::Document const &)> >,boost::signals::detail::named_slot_map_iterator> & f={...}) Line 515 C++
FreeCADApp_d.dll!boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const & __ptr64,__int64>::operator*() Line 640 C++
FreeCADApp_d.dll!boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(const boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const &,boost::function<void __cdecl(App::Document const &)> >,boost::signals::detail::named_slot_map_iterator> & x={...}) Line 146 + 0x32 bytes C++
FreeCADApp_d.dll!boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const & __ptr64,__int64>(boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const &,boost::function<void __cdecl(App::Document const &)> >,boost::signals::detail::named_slot_map_iterator>,boost::signals::detail::unusable,boost::single_pass_traversal_tag,boost::signals::detail::unusable const &,__int64> & i={...}, int __formal=0) Line 730 C++
FreeCADApp_d.dll!boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const & __ptr64,boost::function<void __cdecl(App::Document const & __ptr64)> >,boost::signals::detail::named_slot_map_iterator> >(boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const &,boost::function<void __cdecl(App::Document const &)> >,boost::signals::detail::named_slot_map_iterator> * first=0x0000000000136330, boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound1<void>::caller<App::Document const &,boost::function<void __cdecl(App::Document const &)> >,boost::signals::detail::named_slot_map_iterator> * last=0x0000000000136118) Line 49 + 0x12 bytes C++
FreeCADApp_d.dll!boost::signal1<void,App::Document const & __ptr64,boost::last_value<void>,int,std::less<int>,boost::function<void __cdecl(App::Document const & __ptr64)> >::operator()(const App::Document & a1={...}) Line 354 + 0x232 bytes C++
FreeCADApp_d.dll!App::Application::newDocument(const char * Name=0x000000000390c280, const char * UserName=0x0000000000000000) Line 329 C++
FreeCADApp_d.dll!App::Application::sNewDocument(_object * __formal=0x0000000000000000, _object * args=0x0000000003bf1d58, _object * __formal=0x0000000000000000) Line 210 + 0x24 bytes C++
python27_d.dll!PyCFunction_Call(_object * func=0x00000000039ab8a8, _object * arg=0x0000000003bf1d58, _object * kw=0x0000000000000000) Line 81 + 0xe bytes C
python27_d.dll!call_function(_object * * * pp_stack=0x00000000089da558, int oparg=62856364) Line 4021 + 0xdb bytes C
python27_d.dll!PyEval_EvalFrameEx(_frame * f=0x00000000089da558, int throwflag=47734352) Line 2668 C
python27_d.dll!PyEval_EvalCodeEx(PyCodeObject * co=0x00000000001384e8, _object * globals=0x0000000003bf0670, _object * locals=0x0000000000000202, _object * * args=0x0000000000000000, int argcount=0, _object * * kws=0x0000000000000000, int kwcount=0, _object * * defs=0x0000000000000000, int defcount=0, _object * closure=0x0000000000000000) Line 3253 + 0xf bytes C
python27_d.dll!PyEval_EvalCode(PyCodeObject * co=0x0000000008a8b0a0, _object * globals=0x000000001e350248, _object * locals=0x00000000001370d0) Line 673 C
python27_d.dll!run_mod(_mod * mod=0x0000000008a8b0a0, const char * filename=0x000000001e350248, _object * globals=0x0000000002e4eba8, _object * locals=0x0000000002e4eba8, PyCompilerFlags * flags=0x0000000000000000, _arena * arena=0x0000000008a750c0) Line 1370 + 0x14 bytes C
python27_d.dll!PyRun_StringFlags(const char * str=0x0000000008a89f00, int start=257, _object * globals=0x0000000002e4eba8, _object * locals=0x0000000002e4eba8, PyCompilerFlags * flags=0x0000000000000000) Line 1333 + 0x32 bytes C
FreeCADBase_d.dll!Base::InterpreterSingleton::runString(const char * sCmd=0x0000000008a89f00) Line 160 + 0x26 bytes C++
FreeCADGui_d.dll!Gui::Command::doCommand(Gui::Command::DoCmd_Type eType=Doc, const char * sCmd=0x0000000008b1a728, ...) Line 431 + 0x25 bytes C++
FreeCADGui_d.dll!StdCmdNew::activated(int iMsg=0) Line 459 + 0x40 bytes C++
FreeCADGui_d.dll!Gui::Command::invoke(int i=0) Line 288 + 0x1d bytes C++
FreeCADGui_d.dll!Gui::Action::onActivated() Line 93 C++
FreeCADGui_d.dll!Gui::Action::qt_static_metacall(QObject * _o=0x000000000849dbd0, QMetaObject::Call _c=InvokeMetaMethod, int _id=0, void * * _a=0x0000000000137a30) Line 49 + 0x10 bytes C++
QtCored4.dll!QMetaObject::activate(QObject * sender=0x000000000849fa00, const QMetaObject * m=0x0000000059fcb608, int local_signal_index=1, void * * argv=0x0000000000137a30) Line 3547 + 0x4b bytes C++
QtGuid4.dll!QAction::triggered(bool _t1=false) Line 277 C++
QtGuid4.dll!QAction::activate(QAction::ActionEvent event=Trigger) Line 1259 C++
QtGuid4.dll!QAction::trigger() Line 218 + 0x15 bytes C++
QtGuid4.dll!QToolButton::nextCheckState() Line 1148 C++
QtGuid4.dll!QAbstractButtonPrivate::click() Line 531 C++
QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e=0x0000000000138ee8) Line 1124 C++
QtGuid4.dll!QToolButton::mouseReleaseEvent(QMouseEvent * e=0x0000000000138ee8) Line 719 C++
QtGuid4.dll!QWidget::event(QEvent * event=0x0000000000138ee8) Line 8377 C++
QtGuid4.dll!QAbstractButton::event(QEvent * e=0x0000000000138ee8) Line 1083 C++
QtGuid4.dll!QToolButton::event(QEvent * event=0x0000000000138ee8) Line 1164 C++
QtGuid4.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0000000007d285b0, QEvent * e=0x0000000000138ee8) Line 4562 + 0x15 bytes C++
QtGuid4.dll!QApplication::notify(QObject * receiver=0x0000000007d285b0, QEvent * e=0x0000000000138ee8) Line 4105 + 0x51 bytes C++
FreeCADGui_d.dll!Gui::GUIApplication::notify(QObject * receiver=0x0000000007d285b0, QEvent * event=0x0000000000138ee8) Line 1540 + 0x1e bytes C++
QtCored4.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0000000007d285b0, QEvent * event=0x0000000000138ee8) Line 949 + 0x26 bytes C++
QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver=0x0000000007d285b0, QEvent * event=0x0000000000138ee8) Line 234 + 0x4c bytes C++
QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver=0x0000000007d285b0, QMouseEvent * event=0x0000000000138ee8, QWidget * alienWidget=0x0000000007d285b0, QWidget * nativeWidget=0x000000000013d958, QWidget * * buttonDown=0x0000000059fcd340, QPointer<QWidget> & lastMouseReceiver={...}, bool spontaneous=true) Line 3171 + 0x16 bytes C++
QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG & msg={...}) Line 3382 + 0x3f bytes C++
QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x00000000000609fe, unsigned int message=514, unsigned __int64 wParam=0, __int64 lParam=2883606) Line 1709 + 0x15 bytes C++
user32.dll!00000000778fc3c1()
user32.dll!00000000778fc60a()
QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x000000000013d1b0) Line 814 C++
QtGuid4.dll!QGuiEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x000000000013d1fc) Line 1212 + 0x27 bytes C++
QtCored4.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x000000000013d278) Line 150 C++
QtCored4.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> * flags=0x000000000013d300) Line 204 + 0x59 bytes C++
QtCored4.dll!QCoreApplication::exec() Line 1221 + 0x23 bytes C++
QtGuid4.dll!QApplication::exec() Line 3824 C++
FreeCADGui_d.dll!Gui::Application::runApplication() Line 1815 + 0x6 bytes C++
FreeCAD_d.exe!main(int argc=1, char * * argv=0x0000000002d76c60) Line 329 C++
FreeCAD_d.exe!WinMain() + 0xb1 bytes
FreeCAD_d.exe!__tmainCRTStartup() Line 574 + 0x42 bytes C
FreeCAD_d.exe!WinMainCRTStartup() Line 399 C
kernel32.dll!00000000777df56d()
ntdll.dll!0000000077a13281()

ickby
Posts: 2905
Joined: Wed Oct 05, 2011 7:36 am

Re: Change Anti-aliasing without viewer restart

Post by ickby » Wed Feb 25, 2015 2:38 pm

ok, so it does break the context sharing. the sharing in itself seems to depend on the system, for me the function isSharing() always returns false, so maybe thats why this works for me and crashes for you. Thanks for testing!

Post Reply