Ticket #4596: 4596_diff.patch

File 4596_diff.patch, 1.3 KB (added by Joe Ripley <vitaminjoe@…>, 12 years ago)

Check if dataitem belongs to the given container before adding it to ScreenListInfo?->types

  • mythplugins/mythweather/mythweather/weatherSetup.cpp

     
    510510            si = new ScreenListInfo;
    511511            si->units = units;
    512512            si->types.setAutoDelete(true);
    513             si->types.insert(dataitem, ti);
     513
     514            // Only insert types meant for this container
     515            for (QStringList::Iterator type_i = types.begin(); type_i != types.end(); ++type_i )
     516            {
     517                if(*type_i == dataitem)
     518                {
     519                    si->types.insert(dataitem, ti);
     520                }
     521            }
     522
    514523            si->hasUnits = !(bool) set->GetType("nounits");
    515524            si->multiLoc = (bool) set->GetType("multilocation");
    516525            itm->setData(si);
     
    519528        else
    520529        {
    521530            si = active_screens[draworder];
    522             si->types.insert(dataitem, ti);
     531            for (QStringList::Iterator type_i = types.begin(); type_i != types.end(); ++type_i )
     532            {
     533                if(*type_i == dataitem)
     534                {
     535                    si->types.insert(dataitem, ti);
     536                }
     537            }
    523538        }
    524539    }
    525540}