logo separator

[mkgmap-dev] Index: MDR12 breaking POI search

From Johann Gail johann.gail at gmx.de on Wed Jan 19 22:12:44 GMT 2011

WanMil schrieb:
>> Hi
>>> I observed the same result when I added the MDR8.
>>> Adding MDR12 returns to the old behaviour with exceptions and MapSource
>>> crashes.
>> Thanks that was a good clue I hope.  I modify the size of the section
>> mdr11 in the routine that writes it out. As all the sections depend on
>> each other and need to know their sizes this is too late.
>> I have extracted out the code that changes the section size into a
>> finish() method which is called before anything is written out.
>> I am not in a possition to test it however, but I am sure that the
>> previous code was wrong - the change may not go far enough.
>> ..Steve
> Thanks Steve,
> your code changes did not have any effect on my tests so there must be 
> some more things to do.
> POI search shows exception if MDR12 is put into MDR.
> But we know for sure that our MDR12 creation has a problem.
In mdr_creator.cpp in line 1291 is a difference between mdr8 and mdr12. 
The lenght of the mdr12 dataset needs place for one more bit. I cannot 
find any code where the mdr12 gets written out, so I cannot see the 
meaning of the bit. Would it be the same as usual, an unique flag? 
Probably not, each 4 char block is unique by design.

Btw. I think the sections mdr8 and mdr12 are optional or generated while 
downloading from mapsource to the device, because they are not written 
out in mdr_creator. I assume they are needed for speedup searching at 
the devices.

More information about the mkgmap-dev mailing list