From: scislac Date: Tue, 10 Jul 2007 20:39:45 +0000 (+0000) Subject: patch by gorodish, fixes bug 1692611 (win32 EMF crash) X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=1cea8c39594c76e5008db7b293483119b5247f46;p=inkscape.git patch by gorodish, fixes bug 1692611 (win32 EMF crash) --- diff --git a/src/extension/internal/emf-win32-inout.cpp b/src/extension/internal/emf-win32-inout.cpp index eb4995885..59f538ab9 100644 --- a/src/extension/internal/emf-win32-inout.cpp +++ b/src/extension/internal/emf-win32-inout.cpp @@ -505,6 +505,15 @@ myEnhMetaFileProc(HDC hDC, HANDLETABLE *lpHTable, ENHMETARECORD *lpEMFR, int nOb if (pEmr->nHandles) { d->n_obj = pEmr->nHandles; d->emf_obj = new EMF_OBJECT[d->n_obj]; + + // Init the new emf_obj list elements to null, provided the + // dynamic allocation succeeded. + if ( d->emf_obj != NULL ) + { + for( unsigned int i=0; i < d->n_obj; ++i ) + d->emf_obj[i].lpEMFR = NULL; + } //if + } else { d->emf_obj = NULL; } @@ -1349,7 +1358,7 @@ EmfWin32::open( Inkscape::Extension::Input *mod, const gchar *uri ) delete_object(&d, i); delete[] d.emf_obj; } - + if (d.style.stroke_dash.dash) delete[] d.style.stroke_dash.dash;