summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorVladimir Glazounov <vg@openoffice.org>2009-08-26 14:24:27 +0000
committerVladimir Glazounov <vg@openoffice.org>2009-08-26 14:24:27 +0000
commit46a92e0e2844e9c2fe2111eaac658588ce3ee026 (patch)
tree8ee1ebcd0d5c13b8749b9b41b8a168915b580f9a /extensions
parentc1884b896c76cf0de72cb202cada9ed9a9f9a6dd (diff)
CWS-TOOLING: integrate CWS mh132
2009-08-06 12:20:52 +0200 mh r274712 : corrected error handling 2009-08-05 13:41:20 +0200 mh r274661 : #i93040# NetBSD compile issue 2009-08-05 13:40:32 +0200 mh r274660 : #i93040# NetBSD compile issue 2009-08-05 13:38:46 +0200 mh r274659 : #i93040# NetBSD compile issue 2009-08-05 13:29:15 +0200 mh r274658 : #i95193# increase includes limit 2009-08-05 13:22:07 +0200 mh r274657 : #i96811# honor return values of read calls 2009-08-05 13:16:47 +0200 mh r274654 : #i96802# honor return values of write calls 2009-08-05 13:07:06 +0200 mh r274653 : #i99835# do DestroyData 2009-08-05 13:01:42 +0200 mh r274651 : #i68557#: allow more dpi resolutions in scanner dialogue 2009-07-24 14:46:04 +0200 mh r274307 : #i103770# missing fclose added
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/scanner/sanedlg.cxx13
-rw-r--r--extensions/source/scanner/scanunx.cxx9
2 files changed, 21 insertions, 1 deletions
diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx
index c0374bbb3ce5..de2e7f272350 100644
--- a/extensions/source/scanner/sanedlg.cxx
+++ b/extensions/source/scanner/sanedlg.cxx
@@ -224,6 +224,19 @@ void SaneDlg::InitFields()
maReslBox.SetMin( (long)pDouble[0] );
maReslBox.SetMax( (long)pDouble[1] );
maReslBox.InsertValue( (long)pDouble[0] );
+ // mh@openoffice.org: issue 68557: Can only select 75 and 2400 dpi in Scanner dialogue
+ // scanner allows random setting of dpi resolution, a slider might be useful
+ // support that
+ // workaround: offer at least some more standard dpi resolution between
+ // min and max value
+ int bGot300 = 0;
+ for ( int nRes = (long) pDouble[0] * 2; nRes < (long) pDouble[1]; nRes = nRes * 2 )
+ {
+ if ( !bGot300 && nRes > 300 ) {
+ nRes = 300; bGot300 = 1;
+ }
+ maReslBox.InsertValue(nRes);
+ }
maReslBox.InsertValue( (long)pDouble[1] );
}
if( pDouble )
diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx
index 2e0d470b3241..0b1d1e68f9f3 100644
--- a/extensions/source/scanner/scanunx.cxx
+++ b/extensions/source/scanner/scanunx.cxx
@@ -197,7 +197,14 @@ void ScannerThread::run()
void ScannerManager::DestroyData()
{
- // unused
+ // was unused, now because of i99835: "Scanning interface not SANE API compliant"
+ // delete all SaneHolder to get Sane Dtor called
+ int i;
+ for ( i = allSanes.Count(); i > 0; i-- )
+ {
+ SaneHolder *pSaneHolder = allSanes.GetObject(i-1);
+ if ( pSaneHolder ) delete pSaneHolder;
+ }
}
// -----------------------------------------------------------------------------