Author: ithamar Date: 2010-04-10 17:30:29 +0200 (Sat, 10 Apr 2010) New Revision: 36108 Changeset: http://dev.haiku-os.org/changeset/36108/haiku Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp Log: * Fix bug in handling name/id combos published by transport addons * Minor whitespace fixing. Modified: haiku/trunk/src/preferences/print/AddPrinterDialog.cpp =================================================================== --- haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2010-04-10 15:19:23 UTC (rev 36107) +++ haiku/trunk/src/preferences/print/AddPrinterDialog.cpp 2010-04-10 15:30:29 UTC (rev 36108) @@ -149,10 +149,15 @@ void* pointer; if (msg->FindPointer("source", &pointer) == B_OK) { BMenuItem* item = (BMenuItem*)pointer; + + // Update printer name with Transport Path if not filled in + if (strlen(fName->Text()) == 0) + fName->SetText(item->Label()); + BMenu* menu = item->Menu(); int32 index = fTransport->IndexOf(menu); item = fTransport->ItemAt(index); - if (item != NULL) + if (item != NULL) item->SetMarked(true); } } else { @@ -379,9 +384,8 @@ SetMessage(new BMessage(kTransportSelectedMsg)); for (int32 pidx=0; reply.FindString("port_id", pidx, &portId) == B_OK; pidx++) { - reply.FindString("port_name", pidx, &portName); - - if (!portName.Length()) + if (reply.FindString("port_name", pidx, &portName) != B_OK || + !portName.Length()) portName = portId; // Create menu item in submenu for port @@ -399,6 +403,6 @@ fOk->SetEnabled(fNameText != "" && fPrinterText != "" && (fTransportText != "" || fPrinterText == "Preview")); - fTransport->SetEnabled(fPrinterText != "" && fPrinterText != "Preview"); + fTransport->SetEnabled(fPrinterText != "Preview"); }