[vtkusers] Null pointer with Visual Studio 2010

David E DeMarle dave.demarle at kitware.com
Fri Jan 8 13:57:52 EST 2016


Try throwing in a VTK_MODULE_INIT(vtkRenderingFreeType) in there.



David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909

On Fri, Jan 8, 2016 at 1:39 PM, cfd new via vtkusers <vtkusers at vtk.org>
wrote:

> I compiled vtk 6.3 with VS 2010.
> I had a few crashes when my GUI Is launched.
> I added the following code in my application program
> #include <vtkAutoInit.h>
> VTK_MODULE_INIT(vtkRenderingOpenGL);
> VTK_MODULE_INIT(vtkRenderingContextOpenGL);
> VTK_MODULE_INIT(vtkInteractionStyle);
>
> to avoid these crashes.
>
> Then when my code starts from
> QApplication app(argc, argv);
> MyQTGUI mygui;
> mygui.show();
> app.exec(); <==crashes from here.
>
> call stack shows this->Implementation->TextRenderer is NULL
> in the following code.
> what is the reason?
>
> vtkVector2i vtkTextRendererStringToImage::GetBounds(
>     vtkTextProperty *property, const vtkUnicodeString& string, int dpi)
> {
>   int tmp[4] = { 0, 0, 0, 0 };
>   vtkVector2i recti(tmp);
>   if (!property)
>     {
>     return recti;
>     }
>
>   this->Implementation->TextRenderer->GetBoundingBox(property, string,
> tmp,
>                                                      dpi);
>
>   recti.Set(tmp[1] - tmp[0],
>             tmp[3] - tmp[2]);
>
>   return recti;
> }
>
> ======================call statck
> output=======================================
>   vtkRenderingCore-6.3.dll!vtkTextRenderer::GetBoundingBox(vtkTextProperty
> * tprop, const vtkUnicodeString & str, int * bbox, int dpi, int backend)
>  Line 158 + 0x5 bytes C++
>
> vtkRenderingFreeType-6.3.dll!vtkTextRendererStringToImage::GetBounds(vtkTextProperty
> * property, const vtkUnicodeString & string, int dpi)  Line 66 C++
>
> vtkRenderingContextOpenGL-6.3.dll!vtkOpenGLContextDevice2D::ComputeStringBounds(const
> vtkUnicodeString & string, float * bounds)  Line 947 C++
>
> vtkRenderingContextOpenGL-6.3.dll!vtkOpenGLContextDevice2D::ComputeStringBounds(const
> vtkStdString & string, float * bounds)  Line 849 + 0x48 bytes C++
>   vtkRenderingContext2D-6.3.dll!vtkContext2D::ComputeStringBounds(const
> vtkStdString & string, float * bounds)  Line 646 C++
>   vtkChartsCore-6.3.dll!vtkAxis::GetBoundingRect(vtkContext2D * painter)
>  Line 845 C++
>   vtkChartsCore-6.3.dll!vtkChartXY::UpdateLayout(vtkContext2D * painter)
>  Line 851 C++
>   vtkChartsCore-6.3.dll!vtkChartXY::Paint(vtkContext2D * painter)  Line
> 395 C++
>
> vtkRenderingContext2D-6.3.dll!vtkContextScenePrivate::PaintItems(vtkContext2D
> * context)  Line 81 C++
>   vtkRenderingContext2D-6.3.dll!vtkContextScene::Paint(vtkContext2D *
> painter)  Line 120 C++
>   vtkRenderingContext2D-6.3.dll!vtkContextActor::RenderOverlay(vtkViewport
> * viewport)  Line 221 C++
>   vtkRenderingCore-6.3.dll!vtkRenderer::UpdateGeometry()  Line 585 + 0x41
> bytes C++
>   vtkRenderingOpenGL-6.3.dll!vtkOpenGLRenderer::DeviceRender()  Line 273
> C++
>   vtkRenderingCore-6.3.dll!vtkRenderer::Render()  Line 298 C++
>   vtkRenderingCore-6.3.dll!vtkRendererCollection::Render()  Line 53 C++
>   vtkRenderingCore-6.3.dll!vtkRenderWindow::DoStereoRender()  Line 771 C++
>   vtkRenderingCore-6.3.dll!vtkRenderWindow::DoFDRender()  Line 739 C++
>   vtkRenderingCore-6.3.dll!vtkRenderWindow::DoAARender()  Line 618 C++
>   vtkRenderingCore-6.3.dll!vtkRenderWindow::Render()  Line 434 C++
>   vtkRenderingCore-6.3.dll!vtkRenderWindowInteractor::Render()  Line 175
> C++
>   vtkViewsContext2D-6.3.dll!vtkContextInteractorStyle::RenderNow()  Line
> 147 C++
>
> vtkViewsContext2D-6.3.dll!vtkContextInteractorStyle::ProcessInteractorEvents(vtkObject
> * __formal, unsigned long eventId, void * clientdata, vtkObject * __formal)
>  Line 132 C++
>   vtkCommonCore-6.3.dll!vtkCallbackCommand::Execute(vtkObject * caller,
> unsigned long event, void * callData)  Line 43 C++
>   vtkCommonCore-6.3.dll!vtkSubjectHelper::InvokeEvent(unsigned long event,
> void * callData, vtkObject * self)  Line 619 C++
>   vtkCommonCore-6.3.dll!vtkObject::InvokeEvent(unsigned long event, void *
> callData)  Line 785 + 0x1c bytes C++
>   vtkGUISupportQt-6.3.dll!QVTKInteractor::TimerEvent(int timerId)  Line
> 217 C++
>   vtkGUISupportQt-6.3.dll!QVTKInteractorInternal::TimerEvent(int id)  Line
> 73 C++
>
> vtkGUISupportQt-6.3.dll!QVTKInteractorInternal::qt_static_metacall(QObject
> * _o, QMetaObject::Call _c, int _id, void * * _a)  Line 52 C++
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160108/66b3fcbf/attachment.html>


More information about the vtkusers mailing list