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;
mode.Width = (uint16)ms[j]->hdisplay;
mode.Height = (uint16)ms[j]->vdisplay;
mode.Frequency = 1000 * ms[j]->dotclock / (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));
const uint16 pixelsCount = 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);
}
XFree(ms);