diff --git a/src/kits/interface/Bitmap.cpp b/src/kits/interface/Bitmap.cpp index 758dd55b97..92f304081b 100644 --- a/src/kits/interface/Bitmap.cpp +++ b/src/kits/interface/Bitmap.cpp @@ -2298,10 +2298,8 @@ BBitmap::InitObject(BRect bounds, color_space colorSpace, uint32 flags, // dependent on color space. if (fInitError == B_OK) { - if (flags & B_BITMAP_ACCEPTS_VIEWS) { - // TODO: this probably needs to be a special kind of BWindow - fWindow = new BWindow(Bounds(), "offscreen window", B_UNTYPED_WINDOW, 0); - } + if (flags & B_BITMAP_ACCEPTS_VIEWS) + fWindow = new BWindow(Bounds(), fColorSpace, flags, fBytesPerRow); } } diff --git a/src/kits/interface/View.cpp b/src/kits/interface/View.cpp index 312b4a3058..6f1c98b38b 100644 --- a/src/kits/interface/View.cpp +++ b/src/kits/interface/View.cpp @@ -563,8 +563,6 @@ BView::ConvertFromScreen(BPoint *pt) const do_owner_check_no_pick(); - // TODO: I could be wrong, but shouldn't these - // be swapped ? ConvertFromParent(pt); parent->ConvertFromScreen(pt); } @@ -609,7 +607,6 @@ BView::ConvertFromScreen(BRect *rect) const do_owner_check_no_pick(); - // TODO: See above ConvertFromParent(rect); parent->ConvertFromScreen(rect); } @@ -1128,7 +1125,7 @@ BView::DragMessage(BMessage *message, BBitmap *image, if (replyTo == NULL) replyTo = this; - if (replyTo->Looper()) + if (replyTo->Looper() == NULL) debugger("DragMessage: warning - the Handler needs a looper"); do_owner_check_no_pick(); diff --git a/src/kits/interface/Window.cpp b/src/kits/interface/Window.cpp index da9d3a3786..6d28fcc85a 100644 --- a/src/kits/interface/Window.cpp +++ b/src/kits/interface/Window.cpp @@ -206,6 +206,17 @@ BWindow::BWindow(BMessage* data) } +BWindow::BWindow(BRect frame, color_space depth, + uint32 bitmapFlags, int32 rowBytes) + : + BLooper("offscreen bitmap") +{ + // TODO: Implement for real + decomposeType(B_UNTYPED_WINDOW, &fLook, &fFeel); + InitData(frame, "offscreen", fLook, fFeel, 0, 0); +} + + BWindow::~BWindow() { // the following lines, remove all existing shortcuts and delete accelList