• Miklos Vajna's avatar
    tdf#123505 svx: fix invalidation loop caused by special form control geometry · 5b51aa12
    Miklos Vajna yazdı
    Regression from commit d464d505
    (Refactor calc non-linear ViewToDevice transform, 2018-10-12), the
    problem was that the opengl menu was never painted from the starved idle
    handler as a paint-invalidation loop starved the main loop.
    
    ScGridWindow::Paint() called vcl::Window::ImplPosSizeWindow() for the
    form control of the bugdoc, which triggered an invalidation -> paint ->
    start again.
    
    Checking what adjustControlGeometry_throw() did, the result of the
    transformed points are quite close to each other, but not equivalent:
    
    debug:18521:18521: adjustControlGeometry_throw: aTopLeft before transformation is (1773,426)
    debug:18521:18521: adjustControlGeometry_throw: aTopLeft after transformation is (64.935,16.0382)
    debug:18521:18521: adjustControlGeometry_throw: aPaintRectPixel is 952x586@(64,16)
    
    If we round, rather than truncate, then the size of the control is
    always the same, so no actual resize and invalidation happens during
    paint.
    
    Change-Id: Id55fd227e3ae7fc57d5253bc28f42b9b4315450e
    Reviewed-on: https://gerrit.libreoffice.org/69821Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.com>
    Tested-by: Jenkins
    5b51aa12
Adı
Son kayıt (commit)
Son güncelleme
..
data Loading commit data...
helper Loading commit data...
screenshots Loading commit data...
tiledrendering Loading commit data...
bugfix-test.cxx Loading commit data...
chart2dataprovider.cxx Loading commit data...
cond_format_merge.cxx Loading commit data...
copy_paste_test.cxx Loading commit data...
datacache.cxx Loading commit data...
dataproviders_test.cxx Loading commit data...
datatransformation_test.cxx Loading commit data...
filters-test.cxx Loading commit data...
functions_addin.cxx Loading commit data...
functions_array.cxx Loading commit data...
functions_database.cxx Loading commit data...
functions_datetime.cxx Loading commit data...
functions_financial.cxx Loading commit data...
functions_information.cxx Loading commit data...
functions_logical.cxx Loading commit data...
functions_mathematical.cxx Loading commit data...
functions_spreadsheet.cxx Loading commit data...
functions_statistical.cxx Loading commit data...
functions_test.cxx Loading commit data...
functions_test.hxx Loading commit data...
functions_test_old.cxx Loading commit data...
functions_text.cxx Loading commit data...
mark_test.cxx Loading commit data...
opencl-test.cxx Loading commit data...
parallelism.cxx Loading commit data...
pivottable_filters_test.cxx Loading commit data...
range.cxx Loading commit data...
rangelst_test.cxx Loading commit data...
subsequent_export-test.cxx Loading commit data...
subsequent_filters-test.cxx Loading commit data...
test_ScChartListenerCollection.cxx Loading commit data...
ucalc.cxx Loading commit data...
ucalc.hxx Loading commit data...
ucalc_column.cxx Loading commit data...
ucalc_condformat.cxx Loading commit data...
ucalc_formula.cxx Loading commit data...
ucalc_pivottable.cxx Loading commit data...
ucalc_sharedformula.cxx Loading commit data...
ucalc_sort.cxx Loading commit data...