WebPlatformForEmbedded / libwpe

General-purpose library specifically developed for the WPE-flavored port of WebKit.
BSD 2-Clause "Simplified" License
49 stars 36 forks source link

Do not allow setting too small or big scale factors #109

Closed aperezdc closed 2 years ago

aperezdc commented 2 years ago

Add a check to constraint the allowed device scale factors to the [0.05, 5.0] range, ignoring values outside the interval. For debug builds, an assertion will also make it easier for developers to fix bugs in code that calls the function with invalid values.

Setting the device scale factor to unreasonably low values can result in divisions by zero, wrong rendering, and/or odd behaviour in general; while for too big values graphics buffers will consume unreasonably big amounts of memory or the maximum usable size for them will result in failure to allocate buffers and content being partially rendered (if at all).

While at it, document the wpe_view_backend_dispatch_set_device_scale_factor() function.

Fixes #89