| Anonymous | Login | Signup for a new account | 2013-05-22 08:23 CEST | ![]() |
| All Projects | FPC | Lazarus: Packages, Patches | Lazarus CCR | Mantis | fpGUI | fpcprojects: fpprofiler |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
| 0000964 | Lazarus | Widgetset | public | 2005-06-16 14:24 | 2012-03-13 07:50 | ||||||||
| Reporter | Tony Maro | ||||||||||||
| Assigned To | |||||||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||||||
| Status | acknowledged | Resolution | reopened | ||||||||||
| Platform | i386 | OS | Linux | OS Version | Debian | ||||||||
| Product Version | 0.9.7 (CVS) | Product Build | |||||||||||
| Target Version | 1.2.0 | Fixed in Version | |||||||||||
| Summary | 0000964: GTK2 seems to paint in reverse order...? | ||||||||||||
| Description | Testing TruckBites built for GTK2, I find that the TTilePanel component will redraw itself ontop of a TButton. The TTilePanel is a TPanel with a custom paint job to display a bitmap on it's background. While resizing the window, the panel will be grey and the buttons draw, however as soon as done, the TPanel appears to get the last paint message, rather than the components sitting on top of it. | ||||||||||||
| Steps To Reproduce | The same behavior appears to happen in the OI of Lazarus - the ".." icon and the dropdown when setting event handlers will flicker in and out - mostly out. | ||||||||||||
| Tags | gtk2 | ||||||||||||
| Fixed in Revision | |||||||||||||
| LazTarget | 1.2 | ||||||||||||
| Widgetset | GTK 2 | ||||||||||||
| Attached Files | |||||||||||||
Relationships |
||||||||||||||||
|
||||||||||||||||
Notes |
|
|
(0009351) AndrewH (developer) 2006-10-14 22:46 |
a patch has been submitted to fix this |
|
(0009594) AndrewH (developer) 2006-10-31 21:41 |
The patch I sent was applied and now things mostly work. I would rate this as 85% fixed. |
|
(0011729) Vincent Snijders (manager) 2007-03-05 10:14 |
What is the remaining 15%? Andrew, do you think we can close this issue and open an new one for the (unknown) remaining 15%? |
|
(0012498) AndrewH (developer) 2007-05-05 04:50 |
Okay, the problem is that TButtons on gtk2 do not have their own window. "Windows" provide cropping. We connect to the gtk1/2 'expose-event' signal _after_ the widgetset has painted so when we paint, we are painting over the button. It is easy to connect to the event _before_ instead but I'm not sure what effect that would have on everything else. FYI gtk1 TButtons have their own window so that is why there is no problem with gtk1. Gtk2 Widgets that are affected by this "bug": http://www.gtk.org/tutorial/x483.html [^] |
|
(0017681) Felipe Monteiro de Carvalho (developer) 2008-02-09 23:42 |
That link is old. Here is the new one: http://library.gnome.org/devel/gtk-tutorial/stable/x483.html [^] Maybe we should just put something with a window under the button? |
|
(0017682) Felipe Monteiro de Carvalho (developer) 2008-02-09 23:43 |
This widget seams to be perfekt for the task: http://library.gnome.org/devel/gtk-tutorial/stable/c1228.html#SEC-EVENTBOX [^] |
|
(0017705) Felipe Monteiro de Carvalho (developer) 2008-02-10 15:53 |
It should now be fixed for TButton. |
|
(0017926) Felipe Monteiro de Carvalho (developer) 2008-02-22 17:29 |
I need a list of which Lazarus controls are affected by the bug. |
|
(0018521) Vincent Snijders (manager) 2008-04-01 11:47 |
No further feedback. |
|
(0026369) Zeljan Rikalo (developer) 2009-03-25 08:12 |
Is this fixed ? Any ? |
|
(0026371) Vincent Snijders (manager) 2009-03-25 08:15 |
I don't know, I just don't think Tony is going to re-test it. Feel free to do a quick test yourself (if you didn't do it already) and resolve the issue. |
|
(0026378) Felipe Monteiro de Carvalho (developer) 2009-03-25 15:56 |
It's not fixed and I think that almost all controls with a handle are affected. |
|
(0030008) Mattias Gaertner (manager) 2009-08-20 00:40 |
The bug seems to be about the paint event order. Can you provide a test example? I don't understand the notes. And I don't see why do you think that adding a xwindow for every widget is the only solution. One of the advantages of gtk2 over gtk1 is the reduced number of xwindows. |
|
(0030011) Mattias Gaertner (manager) 2009-08-20 09:13 |
Generally speaking: For some tasks you need to paint before the widgetset (drawing background), for some tasks you need to paint after the widgetset (drawing markers) and for some tasks you need to draw after the widgetset, but before any child is painted. So no single paint event fits for all cases. And not all widgets support all three events. Because paint events are expensive, especially if they are not used, we need a mechanism to enable the needed paint events. Some kind of capability for the three cases and some kind of set to enable them. |
|
(0030037) Felipe Monteiro de Carvalho (developer) 2009-08-20 19:57 |
I dont know if it is the only solution, it was the only solution I could come up with. If they have a window then they are painted in the right order. |
|
(0056358) Zeljan Rikalo (developer) 2012-02-04 12:34 |
Not fixable in 1.0 time window, postponed. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2005-06-16 14:24 | Tony Maro | New Issue | |
| 2005-06-16 14:24 | Tony Maro | Widgetset | => GTK 2 |
| 2005-08-02 10:12 | Vincent Snijders | Target | => post 1.0 |
| 2006-10-11 04:39 | Felipe Monteiro de Carvalho | Status | new => acknowledged |
| 2006-10-14 22:46 | AndrewH | Note Added: 0009351 | |
| 2006-10-31 21:41 | AndrewH | Note Added: 0009594 | |
| 2007-03-05 10:01 | Vincent Snijders | LazTarget | post 1.0 => 1.2 |
| 2007-03-05 10:14 | Vincent Snijders | Note Added: 0011729 | |
| 2007-03-05 10:14 | Vincent Snijders | Status | acknowledged => feedback |
| 2007-05-05 04:50 | AndrewH | Note Added: 0012498 | |
| 2008-02-09 23:42 | Felipe Monteiro de Carvalho | Note Added: 0017681 | |
| 2008-02-09 23:43 | Felipe Monteiro de Carvalho | Note Added: 0017682 | |
| 2008-02-09 23:44 | Felipe Monteiro de Carvalho | Status | feedback => assigned |
| 2008-02-09 23:44 | Felipe Monteiro de Carvalho | Assigned To | => Felipe Monteiro de Carvalho |
| 2008-02-09 23:50 | Felipe Monteiro de Carvalho | Relationship added | related to 0008346 |
| 2008-02-10 15:53 | Felipe Monteiro de Carvalho | Note Added: 0017705 | |
| 2008-02-22 17:29 | Felipe Monteiro de Carvalho | Note Added: 0017926 | |
| 2008-02-22 17:29 | Felipe Monteiro de Carvalho | Status | assigned => feedback |
| 2008-04-01 11:47 | Vincent Snijders | Status | feedback => resolved |
| 2008-04-01 11:47 | Vincent Snijders | Resolution | open => fixed |
| 2008-04-01 11:47 | Vincent Snijders | Note Added: 0018521 | |
| 2008-04-17 19:16 | Felipe Monteiro de Carvalho | Status | resolved => feedback |
| 2008-04-17 19:16 | Felipe Monteiro de Carvalho | Resolution | fixed => reopened |
| 2008-04-17 19:17 | Felipe Monteiro de Carvalho | Status | feedback => confirmed |
| 2008-04-17 19:21 | Felipe Monteiro de Carvalho | Tag Attached: gtk2 | |
| 2008-07-16 20:35 | Vincent Snijders | Relationship added | child of 0008165 |
| 2009-02-04 21:53 | Felipe Monteiro de Carvalho | Assigned To | Felipe Monteiro de Carvalho => |
| 2009-03-25 08:12 | Zeljan Rikalo | Note Added: 0026369 | |
| 2009-03-25 08:12 | Zeljan Rikalo | Status | confirmed => feedback |
| 2009-03-25 08:15 | Vincent Snijders | Note Added: 0026371 | |
| 2009-03-25 15:56 | Felipe Monteiro de Carvalho | Note Added: 0026378 | |
| 2009-06-08 22:29 | Vincent Snijders | Status | feedback => acknowledged |
| 2009-08-20 00:40 | Mattias Gaertner | Note Added: 0030008 | |
| 2009-08-20 09:13 | Mattias Gaertner | Note Added: 0030011 | |
| 2009-08-20 19:57 | Felipe Monteiro de Carvalho | Note Added: 0030037 | |
| 2009-09-27 11:19 | Vincent Snijders | LazTarget | 1.2 => 1.0 |
| 2009-09-27 11:19 | Vincent Snijders | Target Version | => 1.0.0 |
| 2011-10-06 10:47 | Vincent Snijders | Relationship added | related to 0019562 |
| 2012-02-04 12:34 | Zeljan Rikalo | LazTarget | 1.0 => 1.2 |
| 2012-02-04 12:34 | Zeljan Rikalo | Note Added: 0056358 | |
| 2012-03-13 07:50 | Vincent Snijders | Target Version | 1.0.0 => 1.2.0 |
| Main | My View | View Issues | Change Log | Roadmap |



