[Kde-games-devel] KGoldrunner problem in Windows

Christian Ehrlicher Ch.Ehrlicher at gmx.de
Mon Dec 24 11:36:40 CET 2007


Ian Wadham schrieb:
> On Mon, 24 Dec 2007 02:10 am, Christian Ehrlicher wrote:
>> Ian Wadham schrieb:
>>> On Sat, 22 Dec 2007 09:28 pm, Christian Ehrlicher wrote:
>>>> And regarding your kgoldrunner problem - looks like someone forgot to
>>>> read the QPainter docu. I really wonder why it worked on linux ... :)
>>> So what does this mean, Christian?  And what are you implying? ... :-)
>> Just take a look on my last checkin to fix the problem. And see what
>> QPainter::begin() and :end() is for :)
>>
> Well, it's Christmas and your name is Christian, so I'll forgive you this
> time, but in future please do not make this kind of comment about
> someone you do not know, especially not on the SVN record ... :-)
> 
Did you saw the ';-)' ? :-)

> Yes, I do RTFM and so does Luciano ... and no, you do not need
> QPainter::begin() and :end() if you use the constructor with a
> QPaintDevice * parameter and the (auto) destructor ... as the doco
> says and the doco examples show.  Furthermore, there are dozens
> of usages of QPainter(QPaintDevice * device) elsewhere in KDE
> Games code, without begin() and end(), and they work very well
> in Linux and AFAIK in Windows too.
> 
> So I think you have turned up some kind of discrepancy in the
> Windows implementation of QPainter, which forces you to use
> begin() and end() in this case.
> 
It's not a discrepancy, it's documented that you need to call begin()
when you begin painting to a QPaintDevice and you've to call end() when
you finished. And only after end() the QPaintDevice is in a consistent
state. It just by accident that it works on linux.


Christian





More information about the Kde-windows mailing list