Satoshi MailBeta Open in Satoshi Mail

fix openssl linkage problems, disable minimize to tray on Linux because it has too many problems including a CPU peg bug

Commit by Satoshi Nakamoto (s_nakamoto) on 15 July 2010 · SVN r103 · release v0.3.10 · 7 files, +26 −5

Open in Satoshi Mail View on GitHub

Files changed

db.cpp
@@ -592,6 +592,8 @@ bool CWalletDB::LoadWallet()
             else if (strType == "version")
             {
                 ssValue >> nFileVersion;
+                if (nFileVersion == 10300)
+                    nFileVersion = 300;
             }
             else if (strType == "setting")
             {
irc.cpp
@@ -158,6 +158,10 @@ bool Wait(int nSeconds)
 
 void ThreadIRCSeed(void* parg)
 {
+    if (mapArgs.count("-connect"))
+        return;
+    if (mapArgs.count("-noirc"))
+        return;
     printf("ThreadIRCSeed started\n");
     int nErrorWait = 10;
     int nRetryWait = 10;
main.cpp
@@ -2610,6 +2610,9 @@ void BitcoinMiner()
                     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 @@ void BitcoinMiner()
                     swap(mapTestPool, mapTestPoolTmp);
 
                     pblock->vtx.push_back(tx);
-                    nBlockSize += ::GetSerializeSize(tx, SER_NETWORK);
+                    nBlockSize += nTxSize;
                     vfAlreadyAdded[n] = true;
                     fFoundSomething = true;
                 }
main.h
@@ -15,6 +15,7 @@ class CWalletTx;
 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;
makefile.unix
@@ -23,8 +23,8 @@ LIBS= \
  -Wl,-Bstatic \
    -l boost_system -l boost_filesystem \
    -l db_cxx \
- -Wl,-Bdynamic \
    -l crypto \
+ -Wl,-Bdynamic \
    -l gthread-2.0
 
 WXDEFS=-D__WXGTK__ -DNOPCH
serialize.h
@@ -20,7 +20,7 @@ class CDataStream;
 class CAutoFile;
 
 static const int VERSION = 301;
-static const char* pszSubVer = ".0";
+static const char* pszSubVer = ".1";
 
 
 
ui.cpp
@@ -375,13 +375,12 @@ void CMainFrame::OnIconize(wxIconizeEvent& event)
     // 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 @@ COptionsDialog::COptionsDialog(wxWindow* parent) : COptionsDialogBase(parent)
     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 @@ void CreateMainWindow()
     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;