Project

General

Profile

Bug #1330 ยป forTobias0-26-MultithreadingPatch.patch

Robin Mills, 14 Dec 2017 11:02

View differences:

src/orfimage.cpp (working copy)
119 119
            throw Error(3, "ORF");
120 120
        }
121 121
        clearMetadata();
122
        std::ofstream devnull;
123
        printStructure(devnull, kpsRecursive, 0);
124 122
        ByteOrder bo = OrfParser::decode(exifData_,
125 123
                                         iptcData_,
126 124
                                         xmpData_,
src/cr2image.cpp (working copy)
107 107
            throw Error(3, "CR2");
108 108
        }
109 109
        clearMetadata();
110
        std::ofstream devnull;
111
        printStructure(devnull, kpsRecursive, 0);
112 110
        ByteOrder bo = Cr2Parser::decode(exifData_,
113 111
                                         iptcData_,
114 112
                                         xmpData_,
src/crwimage.cpp (working copy)
131 131
            throw Error(33);
132 132
        }
133 133
        clearMetadata();
134
        // read all metadata into memory
135
        // we should put this into clearMetadata(), however it breaks the test suite!
136
        try {
137
            std::ofstream devnull;
138
            printStructure(devnull,kpsRecursive,0);
139
        } catch (Exiv2::Error& /* e */) {
140
            DataBuf file(io().size());
141
            io_->read(file.pData_,file.size_);
142
        }
143

  
144 134
        CrwParser::decode(this, io_->mmap(), io_->size());
145 135

  
146 136
    } // CrwImage::readMetadata
src/tiffimage.cpp (working copy)
184 184
            throw Error(3, "TIFF");
185 185
        }
186 186
        clearMetadata();
187

  
188
        // recursively print the structure to /dev/null to ensure all metadata is in memory
189
        // must be recursive to handle NEFs which stores the raw image in a subIFDs
190
        std::ofstream devnull;
191
        printStructure(devnull,kpsRecursive,0);
192 187
        ByteOrder bo = TiffParser::decode(exifData_,
193 188
                                          iptcData_,
194 189
                                          xmpData_,
src/rw2image.cpp (working copy)
130 130
            throw Error(3, "RW2");
131 131
        }
132 132
        clearMetadata();
133
        std::ofstream devnull;
134
        printStructure(devnull, kpsRecursive, 0);
135 133
        ByteOrder bo = Rw2Parser::decode(exifData_,
136 134
                                         iptcData_,
137 135
                                         xmpData_,
    (1-1/1)