changeset 198:e5950b5ebb02 draft

fix openssl linkage problems, disable minimize to tray on Linux because it has too many problems including a CPU peg bug git-svn-id: https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@103 1a98c847-1fd6-4fd8-948a-caf3550aa51b
author s_nakamoto <s_nakamoto@1a98c847-1fd6-4fd8-948a-caf3550aa51b>
date Thu, 15 Jul 2010 00:18:45 +0000
parents b887c22e68fd
children a74745519f74
files db.cpp irc.cpp main.cpp main.h makefile.unix serialize.h ui.cpp
diffstat 7 files changed, 26 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/db.cpp
+++ b/db.cpp
@@ -592,6 +592,8 @@
             else if (strType == "version")
             {
                 ssValue >> nFileVersion;
+                if (nFileVersion == 10300)
+                    nFileVersion = 300;
             }
             else if (strType == "setting")
             {
--- a/irc.cpp
+++ b/irc.cpp
@@ -158,6 +158,10 @@
 
 void ThreadIRCSeed(void* parg)
 {
+    if (mapArgs.count("-connect"))
+        return;
+    if (mapArgs.count("-noirc"))
+        return;
     printf("ThreadIRCSeed started\n");
     int nErrorWait = 10;
     int nRetryWait = 10;
--- a/main.cpp
+++ b/main.cpp
@@ -2610,6 +2610,9 @@
                     CTransaction& tx = (*mi).second;
                     if (tx.IsCoinBase() || !tx.IsFinal())
                         continue;
+                    unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK);
+                    if (nBlockSize + nTxSize >= MAX_BLOCK_SIZE - 10000)
+                        continue;
 
                     // Transaction fee based on block size
                     int64 nMinFee = tx.GetMinFee(nBlockSize);
@@ -2620,7 +2623,7 @@
                     swap(mapTestPool, mapTestPoolTmp);
 
                     pblock->vtx.push_back(tx);
-                    nBlockSize += ::GetSerializeSize(tx, SER_NETWORK);
+                    nBlockSize += nTxSize;
                     vfAlreadyAdded[n] = true;
                     fFoundSomething = true;
                 }
--- a/main.h
+++ b/main.h
@@ -15,6 +15,7 @@
 class CKeyItem;
 
 static const unsigned int MAX_SIZE = 0x02000000;
+static const unsigned int MAX_BLOCK_SIZE = 1000000;
 static const int64 COIN = 100000000;
 static const int64 CENT = 1000000;
 static const int COINBASE_MATURITY = 100;
--- a/makefile.unix
+++ b/makefile.unix
@@ -23,8 +23,8 @@
  -Wl,-Bstatic \
    -l boost_system -l boost_filesystem \
    -l db_cxx \
+   -l crypto \
  -Wl,-Bdynamic \
-   -l crypto \
    -l gthread-2.0
 
 WXDEFS=-D__WXGTK__ -DNOPCH
--- a/serialize.h
+++ b/serialize.h
@@ -20,7 +20,7 @@
 class CAutoFile;
 
 static const int VERSION = 301;
-static const char* pszSubVer = ".0";
+static const char* pszSubVer = ".1";
 
 
 
--- a/ui.cpp
+++ b/ui.cpp
@@ -375,13 +375,12 @@
     // to get rid of the deprecated warning.  Just ignore it.
     if (!event.Iconized())
         fClosedToTray = false;
-//#ifdef __WXMSW__
     // The tray icon sometimes disappears on ubuntu karmic
     // Hiding the taskbar button doesn't work cleanly on ubuntu lucid
+    // Reports of CPU peg on 64-bit linux
     if (fMinimizeToTray && event.Iconized())
         fClosedToTray = true;
     Show(!fClosedToTray);
-//#endif
     ptaskbaricon->Show(fMinimizeToTray || fClosedToTray);
 }
 
@@ -1446,6 +1445,14 @@
     SelectPage(0);
 #ifdef __WXGTK__
     m_checkBoxStartOnSystemStartup->SetLabel(_("&Start Bitcoin on window system startup"));
+    if (!mapArgs.count("-minimizetotray"))
+    {
+        // Minimize to tray is just too buggy on Linux
+        fMinimizeToTray = false;
+        m_checkBoxMinimizeToTray->SetValue(false);
+        m_checkBoxMinimizeToTray->Enable(false);
+        m_checkBoxMinimizeOnClose->SetLabel(_("&Minimize on close"));
+    }
 #endif
 #ifdef __WXMAC_OSX__
     m_checkBoxStartOnSystemStartup->Enable(false); // not implemented yet
@@ -2536,6 +2543,10 @@
     pframeMain = new CMainFrame(NULL);
     if (mapArgs.count("-min"))
         pframeMain->Iconize(true);
+#ifdef __WXGTK__
+    if (!mapArgs.count("-minimizetotray"))
+        fMinimizeToTray = false;
+#endif
     pframeMain->Show(true);  // have to show first to get taskbar button to hide
     if (fMinimizeToTray && pframeMain->IsIconized())
         fClosedToTray = true;