Ticket #1734 (closed bug: fixed)

Opened 10 months ago

Last modified 10 months ago

BDirectWindow apps compiled for R5 don't work in Haiku

Reported by: jackburton Owned by: axeld
Priority: normal Milestone: R1/alpha1
Component: Kits/Interface Kit Version: R1 development
Cc: Blocked By:
Platform: All Blocking:

Description (last modified by jackburton) (diff)

I copied the R5 devtools to my haiku partition and compiled the sample apps Chart and Stars. They start up correctly but only show a black window. If the same applications are cross compiled from within the haiku build environment (under linux) they work correctly. After investigating a bit, it seems that their inherited DirectConnected() method is never called. I added some debug output to our BDirectWindow implementation, and the _DirectDaemon() method loops correctly, acquires the fDisableSem correctly, and then releases the fDisableSemAck correctly. So the code path looks okay, just that the virtual inherited version of DirectConnected() is never called. Anyone has any idea ?

Change History

  Changed 10 months ago by jackburton

Could this be related to #1259 ?

follow-up: ↓ 3   Changed 10 months ago by stippi

Yes, I would guess it is related. Have you tried replacing the R5 libraries in the development tools folder with the Haiku libraries? If you use Oliver's GCC, there is also something related to BDirectWindows in the gcc folder, I think there is an option to disable it's usage, should be in the README of Oliver's gcc.

in reply to: ↑ 2   Changed 10 months ago by jackburton

Replying to stippi:

Yes, I would guess it is related. Have you tried replacing the R5 libraries in the development tools folder with the Haiku libraries?

No, I haven't tried. Although I'd like to point out that this is a binary compatibility issue, if I have to do that. IOW: R5 apps won't work unless recompiled. On a side note: Does wonderbrush use a BDirectWindow for the about box ? Because that too shows a black window.

If you use Oliver's GCC, there is also something related to BDirectWindows in the gcc folder, I think there is an option to disable it's usage, should be in the README of Oliver's gcc.

Yeah I remember that, but I'm using the old R5 development package.

  Changed 10 months ago by jackburton

  • description modified (diff)

  Changed 10 months ago by jackburton

More info on this problem: I replaced the r5 headers with haiku headers, recompiled Chart (still with the R5 compiler), and now it works.

So it's definitely something different between our headers and R5's. But since DirectWindow.h looks okay, might be some virtual function added in Window.h ?

  Changed 10 months ago by axeld

  • status changed from new to assigned
  • component changed from - General to Kits/Interface Kit
  • milestone changed from R1 to R1/alpha

  Changed 10 months ago by axeld

  • status changed from assigned to closed
  • resolution set to fixed

Thanks! Should be fixed with r23863.

  Changed 10 months ago by jackburton

It's fixed. Thank you very much!

Note: See TracTickets for help on using tickets.