Fixed: #993 Floating Point Exception in NL3D::CDriverGL::getModes on Linux

This commit is contained in:
kervala 2010-06-22 08:12:31 +02:00
parent a84071fc83
commit 743a1775f2

View file

@ -1200,8 +1200,9 @@ bool CDriverGL::getModes(std::vector<GfxMode> &modes)
GfxMode mode; GfxMode mode;
mode.Width = (uint16)ms[j]->hdisplay; mode.Width = (uint16)ms[j]->hdisplay;
mode.Height = (uint16)ms[j]->vdisplay; mode.Height = (uint16)ms[j]->vdisplay;
mode.Frequency = 1000 * ms[j]->dotclock / (ms[j]->htotal * ms[j]->vtotal); const uint16 pixelsCount = ms[j]->htotal * ms[j]->vtotal;
nldebug("3D: Mode %d: %dx%d, %d Hz", j, ms[j]->hdisplay,ms[j]->vdisplay, 1000 * ms[j]->dotclock / (ms[j]->htotal * ms[j]->vtotal)); mode.Frequency = pixelCount ? 1000 * ms[j]->dotclock / pixelCount:0;
nldebug("3D: Mode %d: %dx%d, %d Hz", j, mode.Width, mode.Height, mode.Frequency);
modes.push_back (mode); modes.push_back (mode);
} }
XFree(ms); XFree(ms);