Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1734 closed bug (fixed)

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/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description (last modified by jackburton)

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 (8)

comment:1 by jackburton, 12 years ago

Could this be related to #1259 ?

comment:2 by stippi, 12 years ago

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 comment:3 by jackburton, 12 years ago

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.

comment:4 by jackburton, 12 years ago

Description: modified (diff)

comment:5 by jackburton, 12 years ago

More info on this problem: I replaced the hrev5 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 ?

comment:6 by axeld, 12 years ago

Component: - GeneralKits/Interface Kit
Milestone: R1R1/alpha
Status: newassigned

comment:7 by axeld, 12 years ago

Resolution: fixed
Status: assignedclosed

Thanks! Should be fixed with hrev23863.

comment:8 by jackburton, 12 years ago

It's fixed. Thank you very much!

Note: See TracTickets for help on using tickets.