Changed return type of EnsureValidMessenger after Marcus's advice. Changed the semaptics of BPrintJob::SetSettings() to match R5 ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16476 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -37,16 +37,19 @@ struct _page_header_ {
|
|||||||
static BMessenger *sPrintServer = NULL;
|
static BMessenger *sPrintServer = NULL;
|
||||||
|
|
||||||
|
|
||||||
static bool
|
static status_t
|
||||||
EnsureValidMessenger()
|
EnsureValidMessenger()
|
||||||
{
|
{
|
||||||
if (sPrintServer == NULL)
|
if (sPrintServer == NULL)
|
||||||
sPrintServer = new BMessenger;
|
sPrintServer = new BMessenger;
|
||||||
|
|
||||||
|
if (sPrintServer == NULL)
|
||||||
|
return B_NO_MEMORY;
|
||||||
|
|
||||||
if (!sPrintServer->IsValid())
|
if (!sPrintServer->IsValid())
|
||||||
*sPrintServer = BMessenger(PSRV_SIGNATURE_TYPE);
|
*sPrintServer = BMessenger(PSRV_SIGNATURE_TYPE);
|
||||||
|
|
||||||
return sPrintServer->IsValid();
|
return sPrintServer->IsValid() ? B_OK : B_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -124,19 +127,19 @@ BPrintJob::CommitJob()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!EnsureValidMessenger())
|
if (EnsureValidMessenger() != B_OK)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMessage *message = new BMessage(PSRV_GET_ACTIVE_PRINTER);
|
BMessage *message = new BMessage(PSRV_GET_ACTIVE_PRINTER);
|
||||||
BMessage *reply = new BMessage;
|
BMessage *reply = new BMessage;
|
||||||
|
|
||||||
const char *printerName = NULL;
|
const char *printerName = NULL;
|
||||||
if (sPrintServer->SendMessage(message, reply) < B_OK ||
|
if (sPrintServer->SendMessage(message, reply) < B_OK
|
||||||
reply->FindString("printer_name", &printerName) < B_OK) {
|
|| reply->FindString("printer_name", &printerName) < B_OK) {
|
||||||
// TODO: Show an alert
|
// TODO: Show an alert
|
||||||
delete message;
|
delete message;
|
||||||
delete reply;
|
delete reply;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
delete message;
|
delete message;
|
||||||
@@ -238,8 +241,10 @@ BPrintJob::SetSettings(BMessage *message)
|
|||||||
if (message != NULL) {
|
if (message != NULL) {
|
||||||
HandlePageSetup(message);
|
HandlePageSetup(message);
|
||||||
HandlePrintSetup(message);
|
HandlePrintSetup(message);
|
||||||
|
|
||||||
|
} else if (fSetupMessage != NULL) {
|
||||||
delete fSetupMessage;
|
delete fSetupMessage;
|
||||||
fSetupMessage = message;
|
fSetupMessage = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -330,7 +335,7 @@ BPrintJob::LastPage()
|
|||||||
int32
|
int32
|
||||||
BPrintJob::PrinterType(void *) const
|
BPrintJob::PrinterType(void *) const
|
||||||
{
|
{
|
||||||
if (!EnsureValidMessenger())
|
if (EnsureValidMessenger() != B_OK)
|
||||||
return B_COLOR_PRINTER; // default
|
return B_COLOR_PRINTER; // default
|
||||||
|
|
||||||
BMessage message(PSRV_GET_ACTIVE_PRINTER);
|
BMessage message(PSRV_GET_ACTIVE_PRINTER);
|
||||||
@@ -460,7 +465,7 @@ BPrintJob::AddPicture(BPicture *picture, BRect *rect, BPoint where)
|
|||||||
char *
|
char *
|
||||||
BPrintJob::GetCurrentPrinterName() const
|
BPrintJob::GetCurrentPrinterName() const
|
||||||
{
|
{
|
||||||
if (!EnsureValidMessenger())
|
if (EnsureValidMessenger() != B_OK)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
BMessage message(PSRV_GET_ACTIVE_PRINTER);
|
BMessage message(PSRV_GET_ACTIVE_PRINTER);
|
||||||
@@ -478,7 +483,7 @@ BPrintJob::GetCurrentPrinterName() const
|
|||||||
void
|
void
|
||||||
BPrintJob::LoadDefaultSettings()
|
BPrintJob::LoadDefaultSettings()
|
||||||
{
|
{
|
||||||
if (!EnsureValidMessenger())
|
if (EnsureValidMessenger() != B_OK)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
BMessage message(PSRV_GET_DEFAULT_SETTINGS);
|
BMessage message(PSRV_GET_DEFAULT_SETTINGS);
|
||||||
|
|||||||
Reference in New Issue
Block a user