[haiku-bugs] Re: [Haiku] #6814: LayoutBug , caused by B_PULSE_NEEDED

  • From: "anevilyak" <trac@xxxxxxxxxxxx>
  • Date: Fri, 12 Nov 2010 17:14:42 -0000

#6814: LayoutBug , caused by B_PULSE_NEEDED
---------------------------------+-------------------------------------
  Reporter:  cipri               |        Owner:  axeld
      Type:  bug                 |       Status:  closed
  Priority:  normal              |    Milestone:  R1
 Component:  Kits/Interface Kit  |      Version:  R1/alpha2
Resolution:  invalid             |     Keywords:  Layout B_PULSE_NEEDED
Blocked By:                      |  Has a Patch:  0
  Platform:  All                 |     Blocking:
---------------------------------+-------------------------------------
Changes (by anevilyak):

 * status:  new => closed
 * resolution:   => invalid


Old description:

> I have written a little application to demonstrate a Layout-Bug, caused
> by the command SetFlags( B_PULSE_NEEDED)
>
> write "jam" to compile the program and then start it, and you should be
> able to see that the layout engine is not working.
> If you go to the file: "NavigationView.h" and  and uncomment SetFlags(
> B_PULSE_NEEDED)  it will work correctly again.
>
> (it is called in the constructor of GroupView, and the layout is
> contructed with the LayoutBuilder)

New description:

 I have written a little application to demonstrate a Layout-Bug, caused by
 the command SetFlags( B_PULSE_NEEDED)

 write "jam" to compile the program and then start it, and you should be
 able to see that the layout engine is not working.
 If you go to the file: "NavigationView.h" and  and uncomment SetFlags(
 B_PULSE_NEEDED)  it will work correctly again.

 (it is called in the constructor of GroupView, and the layout is
 contructed with the LayoutBuilder)

--

Comment:

 There is no bug, you're using SetFlags() incorrectly. By calling
 SetFlags(B_PULSE_NEEDED), you're stripping all other flags, including the
 B_SUPPORTS_LAYOUT that gets set by the base class. What you actually want
 is SetFlags(Flags() | B_PULSE_NEEDED).

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/6814#comment:1>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: