View Issue Details

IDProjectCategoryView StatusLast Update
0005594JEDI VCL00 JVCL Componentspublic2011-06-11 11:05
ReporterbugmenotAssigned ToAHUser 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionwon't fix 
Product Version3.40 
Target VersionFixed in Version 
Summary0005594: jvplugin did't use GdiPlus unit
Descriptionthe GdiPlus is download from http://www.bilsen.com/gdiplus/GdiPlus1.2.zip?
if jvplugin use GdiPlus unit,the application did't exit;
the jvplugin kind is dll.
TagsNo tags attached.

Activities

obones

2011-06-10 15:04

administrator   ~0018720

Please provide the zipped sources of a sample application showing this.
Please note however that this is most likely due to a problem inside the GDIPLus unit you are using. As a result, it is most likely that we won't be able to provide support.

2011-06-11 10:04

 

demo.zip (1,199,758 bytes)

AHUser

2011-06-11 11:05

developer   ~0018735

This is a problem with the GDI+ unit. It calls GdiplusStartup/GdiplusShutdown in the initialization/finalization block. And those are called from the DllMain function (that Delphi inserts for you). But the documentation of GDI+ tells us that you must not call those functions from DllMain.

<quote>
// Must not be called from DllMain - can cause deadlock.
</quote>

And guess what you get with this Gdi+ unit: a deadlock on application termination.

A solution would be to comment out the GdiplusStartup/GdiplusShutdown in the unit's initialization/finalization block and call them by hand, but not from a initialization/finalization block or a function that is called from there.

Issue History

Date Modified Username Field Change
2011-06-09 10:42 bugmenot New Issue
2011-06-10 15:04 obones Note Added: 0018720
2011-06-10 15:04 obones Status new => feedback
2011-06-11 10:04 bugmenot File Added: demo.zip
2011-06-11 11:05 AHUser Note Added: 0018735
2011-06-11 11:05 AHUser Status feedback => resolved
2011-06-11 11:05 AHUser Resolution open => won't fix
2011-06-11 11:05 AHUser Assigned To => AHUser