File tree Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ email : david dot marteau at 3liz dot com
18
18
#include " qgsdxfwriter.h"
19
19
#include " qgsdxfexport.h"
20
20
#include " qgswmsrenderer.h"
21
+ #include " qgswmsrestorer.h"
21
22
22
23
namespace QgsWms
23
24
{
@@ -35,6 +36,11 @@ namespace QgsWms
35
36
36
37
// Write output
37
38
QgsRenderer renderer ( context );
39
+
40
+ // Layer settings need to be kept until QgsDxfExport::writeToFile has finished
41
+ std::unique_ptr<QgsWmsRestorer> restorer = std::make_unique<QgsWmsRestorer>( context );
42
+ restorer.reset ( new QgsWmsRestorer ( context ) );
43
+
38
44
std::unique_ptr<QgsDxfExport> dxf = renderer.getDxf ();
39
45
response.setHeader ( " Content-Type" , " application/dxf" );
40
46
dxf->writeToFile ( response.io (), request.wmsParameters ().dxfCodec () );
Original file line number Diff line number Diff line change @@ -1026,10 +1026,6 @@ namespace QgsWms
1026
1026
1027
1027
std::unique_ptr<QgsDxfExport> QgsRenderer::getDxf ()
1028
1028
{
1029
- // init layer restorer before doing anything
1030
- std::unique_ptr<QgsWmsRestorer> restorer;
1031
- restorer.reset ( new QgsWmsRestorer ( mContext ) );
1032
-
1033
1029
// configure layers
1034
1030
QList<QgsMapLayer *> layers = mContext .layersToRender ();
1035
1031
configureLayers ( layers );
You can’t perform that action at this time.
0 commit comments